I created an In-Cell dataTable that shows the results correctly, but when I try to edit the cell contents the following error is displayed in glassfish log file:
Code: Select all
WARNING: StandardWrapperValve[Faces Servlet]: PWC1406: Servlet.service() for servlet Faces Servlet threw exception
java.lang.NullPointerException
at java.io.Writer.write(Writer.java:140)
at com.sun.faces.context.AjaxExceptionHandlerImpl.handlePartialResponseError(AjaxExceptionHandlerImpl.java:200)
at com.sun.faces.context.AjaxExceptionHandlerImpl.handle(AjaxExceptionHandlerImpl.java:119)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:119)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:313)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
at java.lang.Thread.run(Thread.java:619)
This is the dataTable creation:
Code: Select all
<!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.prime.com.tr/ui"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:c="http://java.sun.com/jsp/jstl/core">
<f:view>
<ui:insert name="padraocabecalho">
<ui:include src="/resources/templates/padraocabecalhopfp.xhtml" />
</ui:insert>
<p:growl id="growl"/>
<h:form>
<p:dataTable onRowEditUpdate="growl" value="#{segGruposController.lseggrupos}" var="c" id="segGruposList">
<f:facet name="header">
Grupos de Segurança
</f:facet>
<p:column headerText="Código" style="width:350px">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{c.segGruposCodigo}" />
</f:facet>
<f:facet name="input">
<h:inputText value="#{c.segGruposCodigo}" style="width:100%"/>
</f:facet>
</p:cellEditor>
</p:column>
<p:column headerText="Descrição" style="width:350px">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{c.segGruposDescri}" />
</f:facet>
<f:facet name="input">
<h:inputText value="#{c.segGruposDescri}" style="width:100%"/>
</f:facet>
</p:cellEditor>
</p:column>
<p:column headerText="Opções2">
<p:rowEditor />
</p:column>
</p:dataTable>
</h:form>
</f:view>
</html>
Code: Select all
package br.com.sitic.sitic.seguranca.action;
import java.io.Serializable;
import java.util.List;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;
import javax.persistence.EntityManager;
import javax.faces.context.FacesContext;
import br.com.sitic.sitic.seguranca.model.SegGrupos;
public class SegGruposController {
private SegGrupos seggrupos;
private List<SegGrupos> lseggrupos;
private Integer seggruposcodigo;
@SuppressWarnings("rawtypes")
private DataModel model;
private EntityManager em;
public SegGruposController(){
seggrupos = new SegGrupos();
}
public Integer getSeggruposcodigo() {
return seggruposcodigo;
}
public void setSeggruposcodigo(Integer seggruposcodigo) {
this.seggruposcodigo = seggruposcodigo;
}
/*
public void setLseggrupos(List<SegGrupos> lseggrupos) {
this.lseggrupos = lseggrupos;
}
*/
@SuppressWarnings("unchecked")
public List<SegGrupos> getLseggrupos(){
SegGruposDAO seggruposdao = new SegGruposDAO();
lseggrupos = seggruposdao.exibir();
return lseggrupos;
}
public SegGrupos getSeggrupos(){
if (seggruposcodigo != null) {
seggrupos = em.find(SegGrupos.class, seggruposcodigo);
}
if (seggrupos == null) {
seggrupos = new SegGrupos();
}
return seggrupos;
}
public void setSeggrupos(SegGrupos seggrupos){
this.seggrupos = seggrupos;
}
public String adicionar() {
seggrupos = new SegGrupos();
return "grupossegurancaform";
}
public String editar() {
seggrupos = new SegGrupos();
return "grupossegurancaform";
}
public String deletar(){
SegGruposDAO seggruposdao = new SegGruposDAO();
seggruposdao.deletar(seggrupos);
return "Listar";
}
public String salvar(){
SegGruposDAO seggruposdao = new SegGruposDAO();
seggruposdao.salvar(seggrupos);
return "Listar";
}
@SuppressWarnings({ "rawtypes", "unchecked" })
public DataModel getTodos(){
SegGruposDAO seggruposdao = new SegGruposDAO();
model = new ListDataModel(seggruposdao.exibir());
return model;
}
public int getCount(){
SegGruposDAO seggruposdao = new SegGruposDAO();
return seggruposdao.exibir().size();
}
}