Primefaces selectManyMenu选择多个时出错

时间:2014-03-13 16:57:45

标签: java jsf primefaces

我有一个接口使用selectManyMenu,经销商可以根据他们服务的邮政编码选择一些标准。他们有近800个邮政编码,如果我们选择大约250个可行,但在上面的界面会抛出错误,如下所示

<p:selectManyMenu  showCheckbox="true" style="width:100px;height:200px"     value="#{mergeList.lbean.selectedzips}">  
<f:selectItems value="#{mergeList.zips}" var="zp" itemLabel=" #{zp.name}" itemValue="#   {zp.name}" />  
</p:selectManyMenu> 
  

for servlet Faces Servlet抛出异常:   java.lang.NullPointerException at   com.sun.faces.context.PartialViewContextImpl.createPartialResponseWriter(PartialViewContextImpl.java:441)   [jsf-impl-2.1.7-jbossorg-2.jar:] at   com.sun.faces.context.PartialViewContextImpl.access $ 300(PartialViewContextImpl.java:71)   [jsf-impl-2.1.7-jbossorg-2.jar:] at   com.sun.faces.context.PartialViewContextImpl $ DelayedInitPartialResponseWriter.getWrapped(PartialViewContextImpl.java:582)   [jsf-impl-2.1.7-jbossorg-2.jar:] at   javax.faces.context.PartialResponseWriter.startDocument(PartialResponseWriter.java:115)   [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final] at   org.primefaces.context.PrimePartialResponseWriter.startDocument(PrimePartialResponseWriter.java:134)   [primefaces-4.0.jar:4.0] at   com.sun.faces.context.AjaxExceptionHandlerImpl.handlePartialResponseError(AjaxExceptionHandlerImpl.java:199)   [jsf-impl-2.1.7-jbossorg-2.jar:] at   com.sun.faces.context.AjaxExceptionHandlerImpl.handle(AjaxExceptionHandlerImpl.java:123)   [jsf-impl-2.1.7-jbossorg-2.jar:] at   com.sun.faces.lifecycle.Phase.doPhase(Phase.java:119)   [jsf-impl-2.1.7-jbossorg-2.jar:] at   com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:116)   [jsf-impl-2.1.7-jbossorg-2.jar:] at   com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)   [jsf-impl-2.1.7-jbossorg-2.jar:] at   javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)   [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final] at   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)   [jbossweb-7.0.13.Final.jar:] at   org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)   [jbossweb-7.0.13.Final.jar:] at   org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:98)   [primefaces-4.0.jar:4.0] at   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)   [jbossweb-7.0.13.Final.jar:] at   org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)   [jbossweb-7.0.13.Final.jar:] at   org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)   [jbossweb-7.0.13.Final.jar:] at   org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)   [jbossweb-7.0.13.Final.jar:] at   org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153)   [jboss-as-web-7.1.1.Final.jar:7.1.1.Final] at   org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)   [jbossweb-7.0.13.Final.jar:] at   org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)   [jbossweb-7.0.13.Final.jar:] at   org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)   [jbossweb-7.0.13.Final.jar:] at   org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)   [jbossweb-7.0.13.Final.jar:] at   org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)   [jbossweb-7.0.13.Final.jar:] at   org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process(Http11Protocol.java:671)   [jbossweb-7.0.13.Final.jar:] at   org.apache.tomcat.util.net.JIoEndpoint $ Worker.run(JIoEndpoint.java:930)   java.lang.Thread.run上的[jbossweb-7.0.13.Final.jar:](未知来源)   [rt.jar中:1.6.0_25]

1 个答案:

答案 0 :(得分:0)

试试这个:

 List<ObjectName> selectedZips=new ArrayList<>();
 // getter & setter

<p:selectManyMenu  showCheckbox="true" style="width:100px;height:200px"
 value="#{mergeList.selectedzips}">  
<f:selectItems value="#{mergeList.zips}" var="zp" itemLabel=" #{zp.name}"
 itemValue="#{zp.name}" />  
 </p:selectManyMenu>