-
1. Re: menuItem - reRender not working
ilya_shaikovsky May 30, 2007 5:35 AM (in response to moldovan)Try outputPanel with layout:none - to avoid unnecessary wrapper elements at client side.
-
2. Re: menuItem - reRender not working
moldovan Jun 5, 2007 3:56 AM (in response to moldovan)Solved it with a workaround:
I surrounded the dropdownMenu with an a4j:form and setted the ID's of the content, which should be rerenderd by menuItems in the reRender-attribute of the form.
This works, and is ok for me, at this time. -
3. Re: menuItem - reRender not working
silenco Jul 16, 2007 6:46 PM (in response to moldovan)Hi!
I'm using rich faces 3.0.1 with a rich:toolBar and rich:menuItem ... and I'm facing the same problem.
The workaround moldovan suggested didn't work for me. I tried surrounding the rich:toolBar with a a4j:form having a reRender attribute in it ... but that didn't work either.
Does anyone know if that's a bug? Is somebody else facing that problem?
Thanks!
Simon -
4. Re: menuItem - reRender not working
moldovan Jul 20, 2007 7:40 AM (in response to moldovan)Hello silenco!
Try it a 2nd time, it should work. I also have the menu inside a toolbar.
For help:
I will post you my main-jsp, and my included menu.jsp (where the menu is located).
MAIN.jsp<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%> <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%> <%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t"%> <%@ taglib uri="http://myfaces.apache.org/sandbox" prefix="s"%> <%@ taglib uri="https://ajax4jsf.dev.java.net/ajax" prefix="a4j"%> <%@ taglib uri="http://richfaces.ajax4jsf.org/rich" prefix="rich"%> <f:view> <t:document> <t:documentHead> <title>WiMAX - WebAuthentication</title> <a4j:loadStyle src="css/styles.css" /> <a4j:loadScript src="scripts/myscript.js" /> </t:documentHead> <t:documentBody> <a4j:region id="siteregion" selfRendered="true"> <jsp:include page="inc/header.jsp" /> <jsp:include page="inc/menu.jsp" /> <a4j:form ajaxSubmit="true" id="mainform"> <a4j:keepAlive beanName="userInput" /> <a4j:keepAlive beanName="applicationInput" /> <a4j:keepAlive beanName="groupInput" /> <a4j:keepAlive beanName="permissionInput" /> <a4j:keepAlive beanName="userEdit" /> <a4j:keepAlive beanName="userSearch" /> <a4j:keepAlive beanName="userDelete" /> <a4j:keepAlive beanName="groupEdit" /> <t:div id="content" styleClass="content"> <rich:tabPanel switchType="ajax"> <rich:tab id="inputtab" label="INPUT"> <jsp:include page="inc/tabContent_insert.jsp" /> </rich:tab> <rich:tab id="useredittab" label="USER - DISPLAY/EDIT"> <jsp:include page="inc/tabContent_useredit.jsp" /> </rich:tab> <rich:tab id="userdeletetab" label="USER - DELETION"> <jsp:include page="inc/tabContent_userdelete.jsp" /> </rich:tab> <rich:tab id="groupedittab" label="GROUP - DISPLAY/EDIT"> <jsp:include page="inc/tabContent_groupedit.jsp" /> </rich:tab> </rich:tabPanel> </t:div> </a4j:form> </a4j:region> </t:documentBody> </t:document> </f:view>
MENU.jsp<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %> <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %> <%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t" %> <%@ taglib uri="http://myfaces.apache.org/sandbox" prefix="s" %> <%@ taglib uri="https://ajax4jsf.dev.java.net/ajax" prefix="a4j"%> <%@ taglib uri="http://richfaces.ajax4jsf.org/rich" prefix="rich"%> <a4j:form id="menuform" ajaxSubmit="true" reRender="menuform:menu, mainform:content"> <t:div id="menu" styleClass="menuregion"> <rich:toolBar itemSeparator="line" height="36"> <rich:toolBarGroup> <rich:dropDownMenu value="Programm"> <rich:menuGroup value="UserSearch - Display" icon="images/icon_chooseview.png"> <rich:menuItem submitMode="ajax" value="SuggestionInput" action="#{userSearch.setSuggestionDisplay}" icon="#{userSearch.suggestionDisplay == true ? 'images/icon_hackerl.png' : 'images/icon_transparent.png'}" status="statuscomponent"> </rich:menuItem> <rich:menuSeparator/> <rich:menuItem submitMode="ajax" value="Table" action="#{userSearch.setTableDisplay}" icon="#{userSearch.suggestionDisplay != true ? 'images/icon_hackerl.png' : 'images/icon_transparent.png'}" status="statuscomponent"> </rich:menuItem> </rich:menuGroup> <rich:menuSeparator/> <rich:menuItem submitMode="ajax" value="force Authservice-Update" action="#{methodsCollection.forceServiceUpdate}" icon="images/icon_update.png" /> <rich:menuSeparator/> <rich:menuItem submitMode="ajax" value="logout" action="#{methodsCollection.logout}" icon="images/icon_logout.png" /> </rich:dropDownMenu> </rich:toolBarGroup> <rich:toolBarGroup> <a4j:outputPanel ajaxRendered="true"> <h:panelGrid columns="2" columnClasses=",messagesregiontablecolumn"> <h:column> <h:outputText style="font-size: bold;" value="Messages:" /> </h:column> <t:column style="margin-top: 2px; margin-bottom: 2px;"> <t:div styleClass="messagesregiontablecolumn"> <h:messages showSummary="true" showDetail="false" errorClass="errormessages" warnClass="warnmessages" infoClass="infomessages" layout="table" /> </t:div> </t:column> </h:panelGrid> </a4j:outputPanel> </rich:toolBarGroup> <rich:toolBarGroup location="right" rendered="#{applicationUser.enableMenuItems}" > <h:outputText value="Username: "/> <h:outputText value="#{applicationUser.userName}" /> </rich:toolBarGroup> </rich:toolBar> </t:div> </a4j:form>
In this way the <t:div id="content"> and it's child-elements get reRenderd correctly
Hope, this helps! -
5. Re: menuItem - reRender not working
silenco Jul 24, 2007 10:59 AM (in response to moldovan)hej moldovan!
Thanks a lot for your post. It helped me a lot.
The reason why it didn't worked was a missingajaxSubmit="true"
attribute in the <a4j:form> tag. Otherwise it submits the ajax request, but won't perform any rerendering.
Now it's working fine :)
Thanks again
simon -
6. Re: menuItem - reRender not working
rulinsun Jul 25, 2007 12:23 PM (in response to moldovan)I had a similar issue with rich:dropDownMenu inside rich:dataTable. When I use ajax submitMode for the rich:menuItem, the action will not be invoked. If I move the dropDownMenu out of rich:dataTable (but in same form), it works as expected.
I did some debug tests using firefox firebug. I found the problem was, somehow, the reRender id didn't fill in the Ajax-Update-Ids ().