Forward request do not render components properly
anykeystudio Aug 8, 2011 10:54 AMHello, I've got a render problem when I doing a forward request to a page with Richfaces components. Some Richfaces competent (tab panel, collapsible table, etc) doesn't get properly rendered, or re-rendered when the user fires an forward request. It renders correctly when I redirect the request in my faces-config file (due to the complete request of the page). But when I remove the redirect option, only the standard JSF components get rendered properly. I use ajax in my menu:item when process the request.
I have tried the a4j:region tag, set the render="content" in the menu:item. But problem remains with some of the rich compensates(specially rich:tabPanel, rich:collapsibleSubtable). On the other hand the rich:panel, rich:datatable and standard JSF will render correctly when doing a forward request on other pages.
How can I make these RichFaces components render properly when I do a forward request ?
Greetings Chris.
PS. I use Richfaces 4.0-final, Glassfish 3.1.
faces-config.xml
...
<navigation-rule>
    <from-view-id>*</from-view-id>
    <navigation-case>
        <from-outcome>ListActivity</from-outcome>
        <to-view-id>/app_user/activity/List.xhtml</to-view-id>
    </navigation-case>
</navigation-rule>
...
menu.xhtml
...
<rich:dropDownMenu mode="ajax" >
    <f:facet name="label">
        <h:panelGroup>
            <h:outputText value="Activity" />
        </h:panelGroup>
   </f:facet>
   <rich:menuItem action="ListActivity" render="content" label="List Activities"/>
...
List.xhtml
<ui:define name="content">
        <rich:panel header="Activity List" styleClass="left_content">
            <h:form id="activitylist_form">
                <rich:tabPanel switchType="ajax" itemChangeListener="#{activityController.processItemChange}" activeItem="#{activityController.activeTabItemName}">
                <rich:tab name="OrganisationActivities" header="Organisation Activities">
                            <h:panelGroup>
                                <h:outputText value="No activities registred" escape="false" rendered="#{activityController.activityDataModel.rowCount == 0}" />
                                <f:event type="preRenderComponent" listener="#{activityController.retrieveOrganisationActivity(event)}" />
                                <rich:dataTable id="activitylist" rows="10" value="#{activityController.activityDataModel}" var="item" rowClasses="jsfcrud_odd_row,jsfcrud_even_row"
                                                rendered="#{activityController.activityDataModel.rowCount > 0}">
...