Problema Salvar PrimeFaces (Target Unreachable, 'setor' returned null)

2 respostas
kiwoxox

Boa noite,

Alguém poderia ajudar solucionar meu problema, toda vez que tento cadastrar um novo setor eu tenho esse problema, ele retorna null.

Erro: /cadastrosetor.xhtml @44,79 value="#{setorBean.setor.nome}": Target Unreachable, 'setor' returned null

Já tentei de diversas maneiras e mesmo assim não funciona.

cadastrosetor.xhtml
<?xml version='1.0' encoding='UTF-8' ?>
<!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:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core">

    <body>
        
        <ui:composition template="./Modelo.xhtml">
            <ui:define name="content">
                <h:form id="formsetor">
                    
                    <p:dataTable id="dtsetor" var="setor" value="#{setorBean.listaSetor}" rowKey="#{setor.id}"
                                 selection="#{setorBean.setor}" selectionMode="single"
                                 emptyMessage="Nenhum setor cadastrado.">
                        
                        <f:facet name="header"> 
                            <p:commandButton id="btn_novo" action="#{setorBean.novoSetor}" value="Novo" update=":formsetor:menusetor" icon="ui-icon-document" oncomplete="menusetor.show()"/>
                            Lista de Setores 
                        </f:facet>
                        
                        <f:facet name="footer">
                            <p:commandButton id="btn_detalhes" value="Vizualizar" update=":formsetor:menusetor" icon="ui-icon-seach" oncomplete="menusetor.show()"/>
                        </f:facet>
                            
                        <p:column headerText="Setor">
                            <h:outputText value="#{setor.nome}"/>
                        </p:column>
                        
                        <p:column headerText="Status">
                            <h:outputText value="#{setor.status}"/>
                        </p:column>
                        
                        
                    </p:dataTable>
                    
                    
                    <!--Menu Dialog-->
                    <p:dialog id="menusetor" header="Detalhes do Setor" widgetVar="menusetor" modal="true">
                        <h:panelGrid columns="2" cellpadding="4">
                            <h:outputText value="Setor:"/>
                                <p:inputText value="#{setorBean.setor.nome}"/>
                            <h:outputText value="Status:"/>
                            
                            <!--Rodapé-->
                            <f:facet name="footer">
                                <p:separator/>
                                <p:commandButton value="Salvar" action="#{setorBean.salvarSetor}" ajax="false" oncomplete="menusetor.hide()" icon="ui-icon-disk"/>
                                <p:commandButton value="Deletar" action="#{setorBean.deletarSetor}" ajax="false" oncomplete="menusetor.hide()" icon="ui-icon-trash"/>
                            </f:facet>
                        </h:panelGrid>
                    </p:dialog>
                                 
                </h:form>
              </ui:define>
        </ui:composition>

    </body>
</html>
SetorBean.java
package healthcare.control;

import healthcare.dao.SetorDAO;
import healthcare.modelo.Setor;
import healthcare.util.DAOFactory;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

/**
 *
 * @author Ulisses
 */
@ManagedBean
@ViewScoped
public class SetorBean {
    private Setor setor;
    private List<Setor> listaSetor;
    
    
    public SetorBean() {
    }

    public Setor getSetor() {
        return setor;
    }

    public void setSetor(Setor setor) {
        this.setor = setor;
    }
    
    public List<Setor> getListaSetor() {
        if(this.listaSetor == null){
            SetorDAO setordao = DAOFactory.createSetorDAO();
           this.listaSetor = setordao.listar();
        }
        return listaSetor;
    }
    
    public void novoSetor(){
        this.setor = new Setor();
        System.err.println("Novo: "+setor.getId());
    }
    
    public void salvarSetor(){
        System.err.println("Salvar: "+setor.getId());
        SetorDAO setordao = DAOFactory.createSetorDAO();
        setordao.salvar(setor);
    }
    
    public String deletarSetor(){
        SetorDAO setordao = DAOFactory.createSetorDAO();
        setordao.excluir(setor);
        return null;
    }
    
}
SetorDAO.java
package healthcare.dao;

import healthcare.modelo.Setor;
import java.util.List;
import org.hibernate.Session;

/**
 *
 * @author Ulisses
 */
public class SetorDAO {
    private Session session;
    
    public void setSession(Session session){
        this.session = session;
    }
    
    public void salvar(Setor setor){
        this.session.saveOrUpdate(setor);
    }
    
    public void excluir(Setor setor){
        this.session.delete(setor);
    }
    
    public Setor carregar(Integer id){
        return (Setor) this.session.get(Setor.class,id);
    }
    
    public List<Setor> listar(){
        return this.session.createCriteria(Setor.class).list();
    }
    
}
Log TomCat
WARNING: /cadastrosetor.xhtml @44,79 value="#{setorBean.setor.nome}": Target Unreachable, 'setor' returned null
javax.el.PropertyNotFoundException: /cadastrosetor.xhtml @44,79 value="#{setorBean.setor.nome}": Target Unreachable, 'setor' returned null
	at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:100)
	at org.primefaces.renderkit.InputRenderer.findImplicitConverter(InputRenderer.java:170)
	at org.primefaces.renderkit.InputRenderer.findConverter(InputRenderer.java:190)
	at org.primefaces.renderkit.InputRenderer.getConvertedValue(InputRenderer.java:196)
	at javax.faces.component.UIInput.getConvertedValue(UIInput.java:1030)
	at javax.faces.component.UIInput.validate(UIInput.java:960)
	at javax.faces.component.UIInput.executeValidate(UIInput.java:1233)
	at javax.faces.component.UIInput.processValidators(UIInput.java:698)
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
	at org.primefaces.component.dialog.Dialog.processValidators(Dialog.java:378)
	at javax.faces.component.UIForm.processValidators(UIForm.java:253)
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
	at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1172)
	at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at healthcare.filter.ConexaoHibernateFilter.doFilter(ConexaoHibernateFilter.java:28)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
	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:1004)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:722)

Mai 19, 2013 11:01:36 PM com.sun.faces.lifecycle.ProcessValidationsPhase execute
WARNING: /cadastrosetor.xhtml @44,79 value="#{setorBean.setor.nome}": Target Unreachable, 'setor' returned null
javax.el.PropertyNotFoundException: /cadastrosetor.xhtml @44,79 value="#{setorBean.setor.nome}": Target Unreachable, 'setor' returned null
	at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:100)
	at org.primefaces.renderkit.InputRenderer.findImplicitConverter(InputRenderer.java:170)
	at org.primefaces.renderkit.InputRenderer.findConverter(InputRenderer.java:190)
	at org.primefaces.renderkit.InputRenderer.getConvertedValue(InputRenderer.java:196)
	at javax.faces.component.UIInput.getConvertedValue(UIInput.java:1030)
	at javax.faces.component.UIInput.validate(UIInput.java:960)
	at javax.faces.component.UIInput.executeValidate(UIInput.java:1233)
	at javax.faces.component.UIInput.processValidators(UIInput.java:698)
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
	at org.primefaces.component.dialog.Dialog.processValidators(Dialog.java:378)
	at javax.faces.component.UIForm.processValidators(UIForm.java:253)
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
	at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1172)
	at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at healthcare.filter.ConexaoHibernateFilter.doFilter(ConexaoHibernateFilter.java:28)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
	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:1004)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:722)

Mai 19, 2013 11:01:40 PM com.sun.faces.lifecycle.ProcessValidationsPhase execute
WARNING: /cadastrosetor.xhtml @44,79 value="#{setorBean.setor.nome}": Target Unreachable, 'setor' returned null
javax.el.PropertyNotFoundException: /cadastrosetor.xhtml @44,79 value="#{setorBean.setor.nome}": Target Unreachable, 'setor' returned null
	at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:100)
	at org.primefaces.renderkit.InputRenderer.findImplicitConverter(InputRenderer.java:170)
	at org.primefaces.renderkit.InputRenderer.findConverter(InputRenderer.java:190)
	at org.primefaces.renderkit.InputRenderer.getConvertedValue(InputRenderer.java:196)
	at javax.faces.component.UIInput.getConvertedValue(UIInput.java:1030)
	at javax.faces.component.UIInput.validate(UIInput.java:960)
	at javax.faces.component.UIInput.executeValidate(UIInput.java:1233)
	at javax.faces.component.UIInput.processValidators(UIInput.java:698)
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
	at org.primefaces.component.dialog.Dialog.processValidators(Dialog.java:378)
	at javax.faces.component.UIForm.processValidators(UIForm.java:253)
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
	at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1172)
	at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at healthcare.filter.ConexaoHibernateFilter.doFilter(ConexaoHibernateFilter.java:28)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
	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:1004)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:722)

2 Respostas

aix

eu diria que é porque o setor esta nulo ou seja experimenta inicializar o objeto:

@ManagedBean  
@ViewScoped  
public class SetorBean {  
private Setor setor = new Setor();  
    private List<Setor> listaSetor;
kiwoxox

Então na verdade estava desse jeito, mudei para realizar outro teste, mesmo com ele inicializando lá ou no construtor da classe ocorre o mesmo problema.

Criado 19 de maio de 2013
Ultima resposta 19 de mai. de 2013
Respostas 2
Participantes 2