Problemas para criar uma página simples de cadastro?

GRAVE: javax.el.PropertyNotFoundException: /CadastrarUsuario.xhtml @46,20 value="#{usuarioBean.usuario.nome}": Target Unreachable, identifier ‘usuarioBean’ resolved to null

Estou tendo problemas para criar uma página simples de cadastro. Ao simular o cadastro de um novo usuário, o console retorna uma lista imensa de erros, os quais eu não consegui resolver até o momento. Estou fazendo esse sisteminha para o meu tcc, estou fazendo sozinha e gostaria muito que pudessem me ajudar a resolver isto.

mai 10, 2016 11:25:03 AM com.sun.faces.lifecycle.ProcessValidationsPhase execute
ADVERTÊNCIA: /CadastrarUsuario.xhtml @46,20 value="#{usuarioBean.usuario.nome}": Target Unreachable, identifier ‘usuarioBean’ resolved to null
javax.el.PropertyNotFoundException: /CadastrarUsuario.xhtml @46,20 value="#{usuarioBean.usuario.nome}": Target Unreachable, identifier ‘usuarioBean’ resolved to null
at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:100)
at org.primefaces.util.ComponentUtils.getConverter(ComponentUtils.java:144)
at org.primefaces.renderkit.InputRenderer.getConvertedValue(InputRenderer.java:171)
at javax.faces.component.UIInput.getConvertedValue(UIInput.java:1045)
at javax.faces.component.UIInput.validate(UIInput.java:975)
at javax.faces.component.UIInput.executeValidate(UIInput.java:1248)
at javax.faces.component.UIInput.processValidators(UIInput.java:712)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1261)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1261)
at org.primefaces.component.panel.Panel.processValidators(Panel.java:287)
at javax.faces.component.UIForm.processValidators(UIForm.java:253)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1261)
at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1195)
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:198)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:658)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1502)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1458)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
Caused by: javax.el.PropertyNotFoundException: Target Unreachable, identifier ‘usuarioBean’ resolved to null
at org.apache.el.parser.AstValue.getTarget(AstValue.java:74)
at org.apache.el.parser.AstValue.getType(AstValue.java:58)
at org.apache.el.ValueExpressionImpl.getType(ValueExpressionImpl.java:168)
at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:98)
… 37 more

mai 10, 2016 11:25:03 AM com.sun.faces.context.AjaxExceptionHandlerImpl handlePartialResponseError
GRAVE: javax.el.PropertyNotFoundException: /CadastrarUsuario.xhtml @46,20 value="#{usuarioBean.usuario.nome}": Target Unreachable, identifier ‘usuarioBean’ resolved to null
at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:100)
at org.primefaces.util.ComponentUtils.getConverter(ComponentUtils.java:144)
at org.primefaces.renderkit.InputRenderer.getConvertedValue(InputRenderer.java:171)
at javax.faces.component.UIInput.getConvertedValue(UIInput.java:1045)
at javax.faces.component.UIInput.validate(UIInput.java:975)
at javax.faces.component.UIInput.executeValidate(UIInput.java:1248)
at javax.faces.component.UIInput.processValidators(UIInput.java:712)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1261)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1261)
at org.primefaces.component.panel.Panel.processValidators(Panel.java:287)
at javax.faces.component.UIForm.processValidators(UIForm.java:253)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1261)
at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1195)
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:198)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:658)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1502)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1458)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
Caused by: javax.el.PropertyNotFoundException: Target Unreachable, identifier ‘usuarioBean’ resolved to null
at org.apache.el.parser.AstValue.getTarget(AstValue.java:74)
at org.apache.el.parser.AstValue.getType(AstValue.java:58)
at org.apache.el.ValueExpressionImpl.getType(ValueExpressionImpl.java:168)
at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:98)
… 37 more

Olá,

Essa expressão:

value="#{usuarioBean.usuario.nome}"

Quer dizer:
UsuarioBean.java:
public class UsuarioBean {
    private Usuario usuario = new Usuario();
    ...
}


Usuario.java:
class Usuario {
    private String Nome;
    ...
    public String getNome() {
        return this.Nome;
    }
    ....
}

Ou algo bem semelhante.

Confere?

Atenciosamente.

A classe Usuário java contém apenas os gets e sets de cada atributo.

Já o bean é este:

package br.com.carboscore.bean;

import java.io.Serializable;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;

import br.com.carboscore.DAO.UsuarioDAO;
import br.com.carboscore.model.Usuario;

@SessionScoped
@ManagedBean(name="UsuarioBean")
public class UsuarioBean implements Serializable {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    private UsuarioDAO usuarioDAO;
    private Usuario usuario = new Usuario();
    private DataModel<Usuario> usuarios;

    public void novo() {
        usuario = new Usuario();
    }

    public String inserir() {
        String resultado = "falha";
        usuarioDAO = new UsuarioDAO();
        boolean retorno = usuarioDAO.inserir(usuario);

        if (retorno) {
            resultado = "clientes";
        }

        return resultado;
    }

    /*public void selecionar() {
        usuario = usuario.getRowData();
    }*/

    public String alterar() {
        String resultado = "falha";
        usuarioDAO = new UsuarioDAO();
        boolean retorno = usuarioDAO.alterar(usuario);

        if (retorno) {
            resultado = "usuarios";
        }

        return resultado;
    }

    public String remover() {
        String resultado = "falha";
        usuarioDAO = new UsuarioDAO();
        boolean retorno = usuarioDAO.remover(usuario);

        if (retorno) {
            resultado = "usuarios";
        }

        return resultado;
    }

    public Usuario getUsuario() {
        return usuario;
    }

    public void setCliente(Usuario usuario) {
        this.usuario = usuario;
    }

    public DataModel<Usuario> getUsuarios() {
        usuarioDAO = new UsuarioDAO();
        List<Usuario> usuarioList = usuarioDAO.listar();
        usuarios = new ListDataModel<Usuario>(usuarioList);
        return usuarios;
    }

    public void setUsuario(DataModel<Usuario> usuarios) {
        this.usuarios = usuarios;
    }

}

Amiga, você colocou assim :

@ManagedBean(name="UsuarioBean")

O Problema seria o U maiúsculo

E no código na pagina xhtml :

value="#{usuarioBean.usuario.nome}

Tente colocar assim :

@ManagedBean(name="usuarioBean")

Abraço

Boa noite Eduardo_Maranata10,

Irei tentar executar essa alteração sugerida.

Obrigada!

1 curtida

Fiz a alteração sugerida, porém o erro ainda permanece.

De forma resumida o console gerou isso:

ADVERTÊNCIA: /CadastrarUsuario.xhtml @46,20 value="#{usuarioBean.usuario.nome}": Target Unreachable, identifier ‘usuarioBean’ resolved to null
javax.el.PropertyNotFoundException: /CadastrarUsuario.xhtml @46,20 value="#{usuarioBean.usuario.nome}": Target Unreachable, identifier ‘usuarioBean’ resolved to null


Caused by: javax.el.PropertyNotFoundException: Target Unreachable, identifier ‘usuarioBean’ resolved to null

Já adicionei diversas bibliotecas para correção de alguns erros gerados pelo Debug do Maven, resolvi estes.

Agora esse aqui do Bean está difícil…

1 curtida

Você alterou o nome no Managed Bean ?

Assim:

@ManagedBean(name="usuarioBean")// colocou o U minusculo ?
public class UsuarioBean implements Serializable {

Está desta forma atualmente:

package br.com.carboscore.bean;

import java.io.Serializable;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;

import br.com.carboscore.DAO.UsuarioDAO;
import br.com.carboscore.model.Usuario;

@SessionScoped
_@ManagedBean(name="usuarioBean")_
public class UsuarioBean implements Serializable {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    private UsuarioDAO usuarioDAO;
    private Usuario usuario = new Usuario();
    private DataModel<Usuario> usuarios;

    public void novo() {
        usuario = new Usuario();
}
1 curtida

Tem como você enviar esse projeto para o meu email ?

E muito complicado saber o erro assim.

eduardo.maranata10@gmail.com

Modifiquei o nome todo da calasse também, para usuarioBean, com o U minúsculo.
Aparentemente o erro do bean parou de ocorrer! Mas agora surgiu outro…

Thu May 12 14:01:53 BRT 2016 WARN: Establishing SSL connection without server’s identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn’t set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to ‘false’. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
java.sql.SQLException: Field ‘idusuario’ doesn’t have a default value

E um erro na inserção de dados no seu UsuarioDao

Talvez você não esteja colocando um valor no campo idusuario na hora da inserção, ou o idusuario estar em auto incremento e você esteja colocando o valor para o idusuario sem necessidade

1 curtida

Eu eu vou deixar aqui como eu resolvi esse problema na classe UsuarioBean:

@PostConstruct
public void init(){
    usuario  = new Usuario();
}