[英]Jsf - <h:commandLink /> inside primefaces datatable
當表位於selectionMode="multiple"
時,我需要在素面<p:dataTable />
包含<h:commandLink />
。 這是我的模擬代碼。
<h:form id="myform">
<p:dataTable id="myTable">
<f:facet name="header">
<h:commandLink value="Delete" />
</f:facet>
<p:column selectionMode="multiple" />
....
....
</p:dataTable>
</h:form>
<h:commandLink />
在datatable
內部顯示良好。 當我單擊“ Delete
鏈接時出現問題,它顯示了一些NullPointerException
。 這是錯誤代碼。
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error that prevented it from fulfilling this request.
exception
javax.servlet.ServletException
javax.faces.webapp.FacesServlet.service(FacesServlet.java:606)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
root cause
java.lang.NullPointerException
org.primefaces.component.datatable.feature.SelectionFeature.decodeMultipleSelection(SelectionFeature.java:51)
org.primefaces.component.datatable.feature.SelectionFeature.decode(SelectionFeature.java:40)
org.primefaces.component.datatable.DataTableRenderer.decode(DataTableRenderer.java:60)
javax.faces.component.UIComponentBase.decode(UIComponentBase.java:787)
org.primefaces.component.api.UIData.processDecodes(UIData.java:232)
javax.faces.component.UIForm.processDecodes(UIForm.java:225)
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176)
org.primefaces.component.tabview.TabView.processDecodes(TabView.java:317)
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176)
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176)
javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:933)
com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:78)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.47 logs.
Apache Tomcat/7.0.47
當我在刪除<p:column selectionMode="multiple" />
或設置selectionMode="single"
后單擊delete
,該頁面將再次重新加載。 我只希望這些動作階段適用於我的模板項目。
我哪里出錯了?
據我所知,當我們將選擇設置為“ multiple”時,一個arraylist將用於存儲選定的行以在后備bean中使用。 因此,當您單擊刪除時,將生成操作,並且列表為空,因為您將不會選擇任何東西,這會導致錯誤。 您正在使用的Plz郵政編碼,以便我們快速解決
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.