我在添加更新属性后立即获得NPE。我无法弄清楚这有什么问题。
xhtml在
之下 <p:dataTable id="mpirList" var="mpir"
value="#{PIAMpir.mpirModel}" style="margin-top:9px"
paginator="true" rows="10" paginatorPosition="bottom"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="10,20">
<p:column id="mpirValuecolumn" headerText="MPIR"
style="width:25px;">
<h:outputText id="mpirValueTxt" value="#{mpir.mpir}" />
</p:column>
<p:column id="mpirEffectiveRangecolumn" headerText="Effective Range"
style="width:25px;text-align:center;">
<h:outputText id="mpirEffRangeTxt" value="#{mpir.effectiveRangeAndYear}" />
</p:column>
<p:column id="mpirActioncolumn" headerText="Action"
style="width:25px;text-align:center;">
<p:commandButton id="updateMpirLink" value="Update" actionListener="#{PIAMpir.updateSel}" update="mpirDetailPanel">
<f:setPropertyActionListener target="#{PIAMpir.mpirs}" value="#{PIAMpir.mpirs}" />
<f:setPropertyActionListener target="#{PIAMpir.selectedMpirId}" value="#{mpir.mpirId}" />
<f:setPropertyActionListener target="#{PIAMpir.addNew}" value="false" />
<f:setPropertyActionListener target="#{PIAMpir.showDetails}" value="true" />
</p:commandButton >
</p:column>
</p:dataTable>
<p:spacer width="5" height="5" />
<h:commandButton id="addNewMpirLink" value="Add New" actionListener="#{PIAMpir.prepForAddNewMpir}" >
<f:setPropertyActionListener target="#{PIAMpir.addNew}" value="true" />
<f:setPropertyActionListener target="#{PIAMpir.showDetails}" value="true" />
</h:commandButton>
<p:spacer width="50" height="50" />
<p:panel id="mpirDetailPanel" autoUpdate="true" >
我得到的错误是
[4/18/14 6:33:49:639 EST] 00000044 servlet E com.ibm.ws.webcontainer.servlet.ServletWrapper service SRVE0068E:在应用程序中的servlet ACHAdminMpir的一个服务方法中创建的未捕获异常ACHProviderInterface耳。创建异常:javax.servlet.ServletException:javax.portlet.PortletException:java.lang.NullPointerException 在com.ibm.ws.portletcontainer.invoker.impl.PortletServlet.doDispatch(PortletServlet.java:369) 在com.ibm.ws.portletcontainer.invoker.impl.PortletServletCollaboratorChainImpl.doCollaborator(PortletServletCollaboratorChainImpl.java:82) 在com.ibm.isclite.container.collaborator.PortletServletCollaborator.doDispatch(PortletServletCollaborator.java:143) 在.....
答案 0 :(得分:0)
你不能像这样更新mpirDetailPanel,因为它与动作源不在同一个命名容器中。您可以指定绝对路径。
假设您提供的脚本位于h:from
,则可以使用update=":formId:mpirDetailPanel"