Boa noite pessoal, sou novo no grupo, estou com um problema ao utilizar o datatable do primefaces para selecionar varias linhas com checkbox,
como neste exemplo: http://www.primefaces.org/showcase/ui/datatableRowSelectionRadioCheckbox.jsf
Abaixo segue o trecho de código do xhtml, onde tenho um datatable que mostra os objetos de roomBean.rooms e seta
os valores selecionados para rooBean.roomSelecteds, logo abaixo tenho um commandButton para testar os valores selecionados no dataTable.
[code]<h:form id=“formulario”>
<p:dataTable id=“rooms” value="#{roomBean.rooms}" var=“room” selection="#{roomBean.roomSelecteds}">
<p:column selectionMode=“multiple” />
<p:column headerText=“Consultorios”>
<h:outputText value="#{room.description}" />
</p:column>
</p:dataTable>
<p:commandButton action="#{roomBean.teste}" value="Enviar" />
</h:form>[/code]
Abaixo segue o trecho do Bean.
[code]@Named
@ViewScoped
public class RoomBean implements Serializable {
private List rooms;
private List roomSelecteds;
.
. getters e setters
.
public void teste() {
for (Room room : roomSelecteds) {
System.out.println(room.getDescription());
}
}
}[/code]
Após selecionar as linhas do datatable e clicar no botao, gera esse erro, provavelmente na fase 2 do JSF, APPLY_REQUEST_VALUES.
javax.faces.FacesException
at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:86)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:103)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:310)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:300)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
at java.lang.reflect.Array.newArray(Native Method)
at java.lang.reflect.Array.newInstance(Unknown Source)
at org.primefaces.component.datatable.DataHelper.decodeMultipleSelection(DataHelper.java:281)
at org.primefaces.component.datatable.DataHelper.decodeSelection(DataHelper.java:210)
at org.primefaces.component.datatable.DataTableRenderer.decode(DataTableRenderer.java:47)
at javax.faces.component.UIComponentBase.decode(UIComponentBase.java:786)
at javax.faces.component.UIData.processDecodes(UIData.java:947)
at org.primefaces.component.datatable.DataTable.processDecodes(DataTable.java:602)
at javax.faces.component.UIForm.processDecodes(UIForm.java:213)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1038)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1038)
at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:941)
at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:78)
... 19 more
24/01/2012 17:22:31 org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: Servlet.service() for servlet [Faces Servlet] in context with path [/paineis] threw exception
java.lang.NullPointerException
at java.io.Writer.write(Unknown Source)
at com.sun.faces.context.AjaxExceptionHandlerImpl.handlePartialResponseError(AjaxExceptionHandlerImpl.java:194)
at com.sun.faces.context.AjaxExceptionHandlerImpl.handle(AjaxExceptionHandlerImpl.java:116)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:117)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:310)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:300)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Alguem poderia me ajudar com esse problema? Alguem ja passou por isso antes?
Desde ja agradeço pela atenção!