jsf - Error when I select a given data p:datatable rg.primefaces.component.datatable.DataTable.getRowData( -
i'm using prime faces data table in application have when select of given table
it returns me following error
someone help? used primefaces 3.5
jsf 2.1
my datatable of primefaces
lazydatamodel = new lazydatamodel<funcionario>() { /** * */ private static final long serialversionuid = 1l; @override public list<funcionario> load(int first, int pagesize, string sortfield, sortorder sortorder, map<string, string> filters) { try { funcionarios = funcionarioservice.listar(first, pagesize, filters); } catch (exception e) { // todo auto-generated catch block e.printstacktrace(); } if(getrowcount() <= 0) { setrowcount(funcionarioservice.getrowcount()); } setpagesize(pagesize); super.setwrappeddata(funcionarios); return funcionarios; } @override public object getrowkey(funcionario item) { system.out.println(item.getcodigo()); return item.getcodigo(); } @override public funcionario getrowdata(string rowkey) { // todo auto-generated method stub integer id = integer.valueof(rowkey); (funcionario funcionario : (list<funcionario>) getwrappeddata()) { if(id.equals(funcionario.getcodigo())) { return funcionario; } } return null; } @override public void setrowindex(int rowindex) { /* * following in ancestor (lazydatamodel): * this.rowindex = rowindex == -1 ? rowindex : (rowindex % pagesize); */ if (rowindex == -1 || getpagesize() == 0) { super.setrowindex(-1); } else super.setrowindex(rowindex % getpagesize()); } }; } my listagem.xhtml
?xml version="1.0" encoding="iso-8859-1" ?> <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:p="http://primefaces.org/ui" xmlns:ui="http://java.sun.com/jsf/facelets"> <h:head> </h:head> <h:form id = "f"> <p:datatable emptymessage="não tem registros." var = "funcionario" value = "#{bean.getlazydatamodel()}" paginator="true" rows = "5" id = "tbf" rowsperpagetemplate="5,10,15" lazy = "true" filterevent="enter" selection="#{bean.selecionado}" selectionmode="single" rowkey="#{bean.funcionario.codigo}" > <p:ajax event="rowselect" update=":t:dialogf:display" oncomplete="funcionariodialog.show()"/> <p:column filterby="#{funcionario.codigo}" headertext="codigo" filtermatchmode="contains" > <h:outputtext value="#{funcionario.codigo}" /> </p:column> <p:column filterby="#{funcionario.nome}" headertext="nome" filtermatchmode="contains"> <h:outputtext value="#{funcionario.nome}" /> </p:column> <p:column filterby="#{funcionario.cpf}" headertext="cpf" filtermatchmode="contains"> <h:outputtext value="#{funcionario.cpf}" /> </p:column> <p:column filterby="#{funcionario.datanascimento}" headertext="data nascimento" filtermatchmode="contains" > <h:outputtext value="#{funcionario.datanascimento}" > <f:convertdatetime type="date" pattern="dd/mm/yyyy" /> </h:outputtext> </p:column> <p:column filterby="#{funcionario.usuario}" headertext="usuario" filtermatchmode="contains"> <h:outputtext value="#{funcionario.usuario}" /> </p:column> <p:column headertext = "excluir"> <p:commandlink action ="#{funcionariobean.excluir()}" update = "tbf" > excluir <f:setpropertyactionlistener target="#{funcionariobean.funcionario}" value="#{funcionario}" /> </p:commandlink> </p:column> <p:column style="width:4%"> <p:commandbutton id="selectbutton" update = ":t:dialogf:display" value = "ver" oncomplete="funcionariodialog.show()" title="view"> <f:setpropertyactionlistener target="#{bean.selecionado}" value="#{funcionario}" /> </p:commandbutton> </p:column> <p:column headertext = "alterar"> <p:commandbutton id="selectbutton2" update = ":t:" value = "alterar" title="alterar"> <f:setpropertyactionlistener target="#{bean.funcionario}" value="#{funcionario}" /> </p:commandbutton> </p:column> </p:datatable> </h:form> <h:form id = "dialogf"> <p:dialog id = "dialog" header = "detalhes registro" widgetvar="funcionariodialog" resizable = "false" showeffect="fade" hideeffect="explode"> <h:panelgrid id = "display" columns="2" cellpadding="4"> <h:outputtext value="codigo:" /> <h:outputtext value="#{bean.selecionado.codigo}" /> <h:outputtext value="nome:" /> <h:outputtext value="#{bean.funcionario.nome}" /> <h:outputtext value="cpf:" /> <h:outputtext value="#{bean.funcionario.cpf}" /> <h:outputtext value="data nascimento:" /> <h:outputtext value="#{bean.funcionario.datanascimento}" > <f:convertdatetime type="date" pattern="dd/mm/yyyy" /> </h:outputtext> <h:outputtext value="usuario:" /> <h:outputtext value="#{bean.funcionario.usuario}" /> <h:outputtext value="senha:" /> <h:outputtext value="#{bean.funcionario.senha}" /> </h:panelgrid> </p:dialog> </h:form> </html> error
set 04, 2013 9:40:56 com.sun.faces.context.partialviewcontextimpl processpartial info: java.lang.nullpointerexception java.lang.nullpointerexception @ org.primefaces.component.datatable.datatable.getrowdata(datatable.java:936) @ org.primefaces.component.datatable.feature.selectionfeature.decodesingleselection(selectionfeature.java:47) @ org.primefaces.component.datatable.feature.selectionfeature.decode(selectionfeature.java:38) @ org.primefaces.component.datatable.datatablerenderer.decode(datatablerenderer.java:57) @ javax.faces.component.uicomponentbase.decode(uicomponentbase.java:787) @ org.primefaces.component.api.uidata.processdecodes(uidata.java:228) @ com.sun.faces.context.partialviewcontextimpl$phaseawarevisitcallback.visit(partialviewcontextimpl.java:506) @ com.sun.faces.component.visit.partialvisitcontext.invokevisitcallback(partialvisitcontext.java:183) @ org.primefaces.component.api.uidata.visittree(uidata.java:639) @ javax.faces.component.uicomponent.visittree(uicomponent.java:1600) @ javax.faces.component.uiform.visittree(uiform.java:344) @ javax.faces.component.uicomponent.visittree(uicomponent.java:1600) @ org.primefaces.component.tabview.tabview.visittree(tabview.java:419) @ javax.faces.component.uicomponent.visittree(uicomponent.java:1600) @ javax.faces.component.uicomponent.visittree(uicomponent.java:1600) @ com.sun.faces.context.partialviewcontextimpl.processcomponents(partialviewcontextimpl.java:376) @ com.sun.faces.context.partialviewcontextimpl.processpartial(partialviewcontextimpl.java:252) @ javax.faces.context.partialviewcontextwrapper.processpartial(partialviewcontextwrapper.java:183) @ javax.faces.component.uiviewroot.processdecodes(uiviewroot.java:931) @ 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:409) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:305) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:210) @ org.springframework.orm.jpa.support.openentitymanagerinviewfilter.dofilterinternal(openentitymanagerinviewfilter.java:178) @ org.springframework.web.filter.onceperrequestfilter.dofilter(onceperrequestfilter.java:108) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:243) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:210) @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:222) @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:123) @ org.apache.catalina.authenticator.authenticatorbase.invoke(authenticatorbase.java:502) @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:171) @ org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:99) @ org.apache.catalina.valves.accesslogvalve.invoke(accesslogvalve.java:953) @ org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:118) @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:408) @ org.apache.coyote.http11.abstracthttp11processor.process(abstracthttp11processor.java:1023) @ org.apache.coyote.abstractprotocol$abstractconnectionhandler.process(abstractprotocol.java:589) @ org.apache.tomcat.util.net.jioendpoint$socketprocessor.run(jioendpoint.java:312) @ java.util.concurrent.threadpoolexecutor.runworker(unknown source) @ java.util.concurrent.threadpoolexecutor$worker.run(unknown source) @ java.lang.thread.run(unknown source)
Comments
Post a Comment