当primefaces datatable已经在xhtml中添加了侦听器时,无法将新的ajax行为动态添加到该表中
我正在使用primefaces-6.0、mojarra-2.2.12和wildfly-8.2。我的目标是使用prerenderview侦听器将columnresize侦听器动态添加到datatable。当以前没有连接ajax侦听器时,此解决方案工作正常。但是,如果datatable有任何其他ajax侦听器(比如rowselect),并且使用prerenderview侦听器添加了resize侦听器,那么当我尝试更新呈现的datatable时,JSF实现中会出现空指针异常 xhtml代码:当primefaces datatable已经在xhtml中添加了侦听器时,无法将新的ajax行为动态添加到该表中,primefaces,jsf-2.2,wildfly-8,mojarra,Primefaces,Jsf 2.2,Wildfly 8,Mojarra,我正在使用primefaces-6.0、mojarra-2.2.12和wildfly-8.2。我的目标是使用prerenderview侦听器将columnresize侦听器动态添加到datatable。当以前没有连接ajax侦听器时,此解决方案工作正常。但是,如果datatable有任何其他ajax侦听器(比如rowselect),并且使用prerenderview侦听器添加了resize侦听器,那么当我尝试更新呈现的datatable时,JSF实现中会出现空指针异常 xhtml代码: <
<f:event type="preRenderView" listener="#{datatableTestBean.onPreRenderViewEvent()}"/>
<p:panelGrid>
<p:row>
<p:column>
<p:commandButton value="refersh datatable" actionListener="#{datatableTestBean.refershAll()}" update="-frm3"/>
</p:column>
</p:row>
<p:row>
<p:column>
<p:dataTable id="scrolltestdt" value="#{datatableTestBean.dtValues}" var="row"
resizableColumns="true" liveResize="false" resizeMode="expand"
scrollable="true" scrollHeight="400" selectionMode="single" rowKey="#{row}">
<p:ajax event="rowSelect" listener="#{datatableTestBean.onRowSelected()}"/>
<p:column filterBy="#{row[0]}" headerText="COlumn1" >
<h:outputText value="#{row[0]}"/>
</p:column>
<p:column filterBy="#{row[1]}" headerText="COlumn2">
<h:outputText value="#{row[1]}" />
</p:column>
</p:dataTable>
</p:column>
</p:row>
当我使用命令按钮更新表单时,会出现此错误
日志:
在onPreRenderViewEvent侦听器中添加ajaxBehavior时,我也遇到了同样的问题 试着在你的听众中做这件事
<f:event type="postAddToView" listner="#{listner}">
它适合我。在onPreRenderViewEvent侦听器中尝试添加ajaxBehavior时,我遇到了相同的问题 试着在你的听众中做这件事
<f:event type="postAddToView" listner="#{listner}">
它对我有用
<f:event type="postAddToView" listner="#{listner}">