[ https://issues.apache.org/jira/browse/MYFACES-4074?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15624059#comment-15624059 ]
Leonardo Uribe commented on MYFACES-4074: ----------------------------------------- Thanks for the example, it helps to debug it properly. According to the tests, the exception does not happen inside MyFaces, and it is related to primefaces p:dataGrid component, which overrides UIData. There is nothing to do in that case from myfaces perspective, because the fix should be done in primefaces. I'll close this issue as invalid. > MyFaces + Primefaces: Dynamic ui:include + UIData (with rowStatePreserved) > rendering problem > -------------------------------------------------------------------------------------------- > > Key: MYFACES-4074 > URL: https://issues.apache.org/jira/browse/MYFACES-4074 > Project: MyFaces Core > Issue Type: Bug > Components: JSR-314 > Affects Versions: 2.2.11 > Reporter: Jiri Slovak > > There is a situation where UIData with rowStatePreserved is not rendered. > NullPointer exception is thrown in this case. > The example of such situation is: > we have index.xhtml with ui:include with src attribute as expression > <h:form> > <h:panelGrid columns="1" bodyrows="3"> > <p:commandLink > action="#{mainFrameBean.setMenu('iframe1.xhtml')}" process="@this" > update=":mainframe">Frame 1</p:commandLink> > <p:commandLink > action="#{mainFrameBean.setMenu('iframe2.xhtml')}" process="@this" > update=":mainframe">Frame 2</p:commandLink> > <p:commandLink > action="#{mainFrameBean.setMenu('iframe3.xhtml')}" process="@this" > update=":mainframe">Frame 3</p:commandLink> > </h:panelGrid> > </h:form> > <p:outputPanel id="mainframe"> > <ui:include src="/frames/#{mainFrameBean.menuValue}" /> > </p:outputPanel> > we have datagrid coded in iframe2.xhtml > <p:dataGrid var="car" value="#{dataGridView.cars}" columns="3" layout="grid" > rows="12" paginator="true" id="cars" rowStatePreserved="true" > paginatorTemplate="{CurrentPageReport} {FirstPageLink} > {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} > {RowsPerPageDropdown}" > rowsPerPageTemplate="6,12,16"> > <f:facet name="header"> > Cars for Sale > </f:facet> > <p:panel header="#{car.id}" style="text-align:center"> > <h:outputText value="#{car.year}" /> > </p:panel> > </p:dataGrid> > Then if you click "Frame 2" commandlink you get nullpointer returned in the > partial response XML. > The problem is UIData incorrectly handles initial descendant state during the > render response phase. > I`ve prepared testapp code in github as an exapmle: > https://github.com/slovi/myfaces_primefaces_uidata_issue > (link 4 does not work correctly with myfaces, but works well with Mojarra). > It seems the problem is that MyFaces sets initial state during the render > response phase (in case of partial request), whilst Mojarra sets > markInitialState during the build phase. > Jiri -- This message was sent by Atlassian JIRA (v6.3.4#6332)