Problemas para criar uma página simples de cadastro?

11 respostas
java
M

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

11 Respostas

C

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.

M

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;
    }

}
E

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

M

Boa noite Eduardo_Maranata10,

Irei tentar executar essa alteração sugerida.

Obrigada!

M

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…

E

Você alterou o nome no Managed Bean ?

Assim:

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

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();
}
E

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

E muito complicado saber o erro assim.

[email removido]

M

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

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

L

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

@PostConstruct
public void init(){
    usuario  = new Usuario();
}
Criado 10 de maio de 2016
Ultima resposta 28 de mar. de 2017
Respostas 11
Participantes 4