Galera,
Estou com esse problema e não estou sabendo como resolver
AVISO: /gerenciar/usuario.xhtml @55,101 value="#{usuarioControle.usuario.nome}": Target Unreachable, 'null' returned null
javax.el.PropertyNotFoundException: /gerenciar/usuario.xhtml @55,101 value="#{usuarioControle.usuario.nome}": Target Unreachable, 'null' returned null
at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:100)
at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:95)
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.UIForm.processValidators(UIForm.java:253)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
at org.primefaces.component.dialog.Dialog.processValidators(Dialog.java:318)
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)
Abaixo o meu controle e meu xhtml
usuario.xhtml
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.prime.com.tr/ui"
template="./../templates/template.xhtml">
<ui:define name="content">
<h:outputLabel value="Gerenciar Usuario" style="font-size: 25px"/>
<h:form prependId="false">
<!-- parte da Tabela que vai listar os registros -->
<p:dataTable id="tabela" var="usuario" value="#{usuarioControle.listarUsuarios}" selection="#{usuarioControle.usuario}" selectionMode="single" paginator="true" rows="10">
<p:column>
<f:facet name="header">
<h:outputText value="Nome" />
</f:facet>
<h:outputText value="#{usuario.nome}" />
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Descrição"/>
</f:facet>
<h:outputText value="#{usuario.descricao}"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Login"/>
</f:facet>
<h:outputText value="#{usuario.login}"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Senha"/>
</f:facet>
<h:outputText value="#{usuario.senha}"/>
</p:column>
<f:facet name="footer">
<p:commandButton image="ui-icon ui-icon-document" value="Novo Usuario" actionListener="#{usuarioControle.prepararAdicionarUsuario}" update="infosUsuario" oncomplete="dialogGerUsuario.show()"/>
<p:commandButton image="ui-icon ui-icon-pencil"
value="Alterar" update="infosUsuario" oncomplete="dialogGerUsuario.show()"/>
<p:commandButton image="ui-icon ui-icon-trash" actionListener="#{usuarioControle.excluir}" value="Excluir" update="tabela"/>
</f:facet>
</p:dataTable>
</h:form>
<!-- Parte do codigo que edita e grava novos registros -->
<p:dialog header="Gerencia de Usuario" widgetVar="dialogGerUsuario" resizable="false" modal="true" showEffect="slide" width="500">
<h:form prependId="false">
<h:panelGrid id="infosUsuario" columns="2" style="margin-bottom:10px">
<h:outputLabel for="nome" value="Nome:" />
<h:inputText id="nome" value="#{usuarioControle.usuario.nome}" required="true"/>
<h:outputLabel for="descricao" value="Descrição:" />
<h:inputText id="descricao" value="#{usuarioControle.usuario.descricao}" required="true"/>
<h:outputLabel for="login" value="Login:" />
<h:inputText id="login" value="#{usuarioControle.usuario.login}" required="true"/>
<h:outputLabel for="senha" value="Senha:" />
<h:inputText id="senha" value="#{usuarioControle.usuario.senha}" required="true"/>
<f:facet name="footer">
<h:panelGroup style="display:block; text-align:center">
<p:commandButton update="tabela" oncomplete="dialogGerUsuario.hide();" actionListener="#{usuarioControle.alterarOuSalvar}" value="Salvar"/>
<p:commandButton update="tabela" oncomplete="dialogGerUsuario.hide();" value="Cancelar"/>
</h:panelGroup>
</f:facet>
</h:panelGrid>
</h:form>
</p:dialog>
</ui:define>
</ui:composition>
UsuarioControle.java
@ManagedBean(name = "usuarioControle")
@SessionScoped
public class UsuarioControle implements Serializable{
private Usuario usuario;
private boolean novoCadastro = false;
public UsuarioControle() {
}
public void prepararAdicionarUsuario(ActionEvent actionEvent) {
usuario = new Usuario();
novoCadastro = true;
}
public List<Usuario> getListarUsuarios() {
try {
List<Usuario> lista = new UsuarioDAO().buscarTodosOsRegistros();
return lista;
} catch (Exception ex) {
addError("Gerenciar Usuario", ex.getMessage());
}
return null;
}
public void alterarOuSalvar(ActionEvent actionEvent) {
try {
UsuarioDAO dao = new UsuarioDAO();
if (novoCadastro) {
dao.salvar(usuario);
novoCadastro = false;
addInfo("Gerenciar Usuario", "Usuario inserido com sucesso.");
} else {
dao.editar(usuario);
addInfo("Gerenciar Usuario", "Usuario alterado com sucesso.");
}
} catch (Exception ex) {
addError("Gerenciar Usuario", "Usuario não pode ser alterado ou salvo:" + ex.getMessage());
}
}
public void excluir(ActionEvent actionEvent) {
try {
if (null != usuario) {
UsuarioDAO dao = new UsuarioDAO();
dao.excluir(usuario.getIdUsuario());
addInfo("Gerenciar Usuario", "Usuario excluido com sucesso.");
}else{
addWarn("Gerenciar Usuario", "Nenhum cargo foi selecionado.");
}
} catch (Exception ex) {
addError("Gerenciar Usuario", "Usuario não pode ser excluido:" + ex.getMessage());
}
}
public Usuario getUsuario() {
return usuario;
}
public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}
}
o foda é que eu tenho uma outra aplicação que funciona, copie e colei e começou a dar esse erro.
Att