estou tendo problemas ao tentar recuperar o valor dos atributos no back, mesmo com os campos preenchidos na tela todos ficam null no back.
tela.
<ui:composition template="/templates/layout.xhtml"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<ui:define name="centroMeio">
<p:panelGrid columns="1" style="margin:0 auto;width:100%;">
<f:facet name="header">
#{msg['usuario_menu_incluir']}
</f:facet>
<h:form id="detailForm">
<p:growl autoUpdate="true" globalOnly="true" sticky="false"/>
<p:panelGrid id="display" columns="2" cellpadding="4" style="margin:0 auto;">
<h:outputText value="#{msg['usuario_nome']} :" />
<h:panelGroup>
<h:message for="itNome" styleClass="error"/>
<h:inputText maxlength="60" size="51"
id="itNome"
label="#{msg['usuario_nome']}"
value="#{incluirUsuarioController.modelUsuario.nome}"
required="false">
<f:converter converterId="br.com.vle.util.CaixaAltaConverter"/>
</h:inputText>
</h:panelGroup>
<h:outputText value="#{msg['usuario_email']} :" />
<h:panelGroup>
<h:message for="itEmail" styleClass="error"/>
<h:inputText maxlength="60" size="51" rendered="true"
id="itEmail"
label="#{msg['usuario_email']}"
value="#{incluirUsuarioController.modelUsuario.email}">
<f:converter converterId="br.com.vle.util.CaixaAltaConverter"/>
</h:inputText>
</h:panelGroup>
<h:outputText value="#{msg['pessoa_cpf_cnpj']}:" />
<h:panelGroup>
<h:message for="itCpf_cnpj" styleClass="error"/>
<h:inputText maxlength="14" size="21"
id="itCpf_cnpj"
label="#{msg['pessoa_cpf_cnpj']}"
value="#{incluirUsuarioController.modelUsuario.cpfCnpj}"
required="false"
readonly="true">
</h:inputText>
</h:panelGroup>
<h:outputText value="#{msg['pessoa_rg']} :" />
<h:panelGroup>
<h:message for="itRg" styleClass="error"/>
<h:inputText maxlength="20" size="21" rendered="true"
id="itRg"
label="#{msg['pessoa_rg']}"
value="#{incluirUsuarioController.modelUsuario.rg}"
required="false">
</h:inputText>
</h:panelGroup>
<h:outputText value="#{msg['pessoa_ie']} :" />
<h:panelGroup>
<h:message for="itIe" styleClass="error"/>
<h:inputText maxlength="20" size="21" rendered="true"
id="itIe"
label="#{msg['pessoa_ie']}"
value="#{incluirUsuarioController.modelUsuario.ie}">
</h:inputText>
</h:panelGroup>
<h:outputText value="#{msg['pessoa_ssp']} :" />
<h:panelGroup>
<h:message for="newestado" styleClass="error" />
<h:selectOneMenu id="newestado" required="false"
style="width: 160px; height: 30px;" label="Perfil"
value="#{incluirUsuarioController.modelUsuario.estado}" var="_estados"
itemValue="#{_estados}">
<f:selectItems value="#{incluirUsuarioController.estados}"
var="_estados" itemValue="#{_estados}"
itemLabel="#{_estados.uf}"/>
</h:selectOneMenu>
</h:panelGroup>
<h:outputText value="#{msg['pessoa_dt_nascimento']} :" />
<h:panelGroup>
<h:message for="itdtNascimento" styleClass="error"/>
<h:inputText maxlength="20" size="21" rendered="true"
id="itdtNascimento"
label="#{msg['pessoa_dt_nascimento']}"
value="#{incluirUsuarioController.modelUsuario.dtNascimento}">
</h:inputText>
</h:panelGroup>
<h:outputText value="#{msg['pessoa_telefoneprin']} :" />
<h:panelGroup>
<h:message for="itTelPrin" styleClass="error"/>
<h:inputText
id="itTelPrin"
maxlength="20" size="21"
label="#{msg['pessoa_telefoneprin']}"
value="#{incluirUsuarioController.modelUsuario.telPrin}"
pattern="\(\d{2}\)\d{5}-\d{4}"
required="false">
</h:inputText>
</h:panelGroup>
<h:outputText value="#{msg['pessoa_telefonesec']} :" />
<h:panelGroup>
<h:message for="itTelSec" styleClass="error"/>
<h:inputText
id="itTelSec"
maxlength="20" size="21"
label="#{msg['pessoa_telefonesec']}"
value="#{incluirUsuarioController.modelUsuario.telSec}"
pattern="\(\d{2}\)\d{5}-\d{4}">
</h:inputText>
</h:panelGroup>
<h:outputText value="#{msg['pessoa_cep']} :" />
<h:panelGroup>
<h:message for="itCep" styleClass="error"/>
<h:inputText
id="itCep"
maxlength="8" size="21"
label="#{msg['pessoa_cep']}"
value="#{incluirUsuarioController.modelUsuario.cep}"
required="false">
</h:inputText>
<p:commandButton icon="ui-icon-search"
update="detailForm"
action="#{incluirUsuarioController.buscarEndereco()}"
title="#{msg['usuario_acao_buscar_endereco']}">
</p:commandButton>
</h:panelGroup>
<h:outputText value="#{msg['pessoa_logradouro']} :" />
<h:panelGroup>
<h:message for="itLogradouro" styleClass="error"/>
<h:inputText
id="itLogradouro"
maxlength="50" size="51"
label="#{msg['pessoa_logradouro']}"
value="#{incluirUsuarioController.modelUsuario.logradouro}"
required="false">
<f:converter converterId="br.com.vle.util.CaixaAltaConverter"/>
</h:inputText>
</h:panelGroup>
<h:outputText value="#{msg['pessoa_complemento']} :" />
<h:panelGroup>
<h:message for="itComplemento" styleClass="error"/>
<h:inputText
id="itComplemento"
maxlength="50" size="51"
label="#{msg['pessoa_complemento']}"
value="#{incluirUsuarioController.modelUsuario.complemento}"
required="false">
<f:converter converterId="br.com.vle.util.CaixaAltaConverter"/>
</h:inputText>
</h:panelGroup>
<h:outputText value="#{msg['pessoa_numero']} :" />
<h:panelGroup>
<h:message for="itNumero" styleClass="error"/>
<h:inputText
id="itNumero"
maxlength="10" size="21"
label="#{msg['pessoa_numero']}"
value="#{incluirUsuarioController.modelUsuario.numero}"
required="false">
</h:inputText>
</h:panelGroup>
<h:outputText value="#{msg['pessoa_bairro']} :" />
<h:panelGroup>
<h:message for="itBairro" styleClass="error"/>
<h:inputText
id="itBairro"
maxlength="20" size="21"
label="#{msg['pessoa_bairro']}"
value="#{incluirUsuarioController.modelUsuario.bairro}"
required="false"
readonly="true">
<f:converter converterId="br.com.vle.util.CaixaAltaConverter"/>
</h:inputText>
</h:panelGroup>
<h:outputText value="#{msg['pessoa_localidade']} :" />
<h:panelGroup>
<h:message for="itLocalidade" styleClass="error"/>
<h:inputText
id="itLocalidade"
maxlength="20" size="21"
label="#{msg['pessoa_localidade']}"
value="#{incluirUsuarioController.modelUsuario.localidade}"
required="false"
readonly="true">
<f:converter converterId="br.com.vle.util.CaixaAltaConverter"/>
</h:inputText>
</h:panelGroup>
<h:outputText value="#{msg['pessoa_uf']} :" />
<h:panelGroup>
<h:message for="itUf" styleClass="error"/>
<h:inputText
id="itUf"
maxlength="2" size="21"
label="#{msg['pessoa_uf']}"
value="#{incluirUsuarioController.modelUsuario.uf}"
required="false"
readonly="true">
<f:converter converterId="br.com.vle.util.CaixaAltaConverter"/>
</h:inputText>
</h:panelGroup>
<h:outputText value="#{msg['pessoa_referencia_nome']} :" />
<h:panelGroup>
<h:message for="itRefNome" styleClass="error"/>
<h:inputText
id="itRefNome"
maxlength="50" size="51"
label="#{msg['pessoa_referencia_nome']}"
value="#{incluirUsuarioController.modelUsuario.nomeRef}"
required="false">
<f:converter converterId="br.com.vle.util.CaixaAltaConverter"/>
</h:inputText>
</h:panelGroup>
<h:outputText value="#{msg['pessoa_referencia_telefone']} :" />
<h:panelGroup>
<h:message for="itRefTel1" styleClass="error"/>
<h:inputText
id="itRefTel"
maxlength="11" size="21"
label="#{msg['pessoa_referencia_telefone']}"
value="#{incluirUsuarioController.modelUsuario.telRef}"
required="false">
</h:inputText>
</h:panelGroup>
<h:outputText value="#{msg['pessoa_referencia_nome']} :" />
<h:panelGroup>
<h:message for="itRefNome1" styleClass="error"/>
<h:inputText
id="itRefNome1"
maxlength="50" size="51"
label="#{msg['pessoa_referencia_nome']}"
value="#{incluirUsuarioController.modelUsuario.nomeRef1}"
required="false">
<f:converter converterId="br.com.vle.util.CaixaAltaConverter"/>
</h:inputText>
</h:panelGroup>
<h:outputText value="#{msg['pessoa_referencia_telefone']} :" />
<h:panelGroup>
<h:message for="itRefTel1" styleClass="error"/>
<h:inputText
id="itRefTel1"
maxlength="11" size="21"
label="#{msg['pessoa_referencia_telefone']}"
value="#{incluirUsuarioController.modelUsuario.telRef1}"
pattern="\(\d{2}\)\d{5}-\d{4}"
required="false">
</h:inputText>
</h:panelGroup>
<f:facet name="footer">
<p:commandButton value="#{msg['usuario_acao_salvar']}"
action="#{incluirUsuarioController.salvar()}"
update="detailForm"
title="#{msg['usuario_acao_salvar_title']}">
</p:commandButton>
<p:commandButton value="#{msg['voltar']}" immediate="true"
action="#{incluirUsuarioController.voltar(true)}" title="#{msg['voltar_title']}">
</p:commandButton>
</f:facet>
</p:panelGrid>
</h:form>
</p:panelGrid>
</ui:define>
<ui:define name="centroRodapeSemLayout"/>
<ui:define name="direitaSemLayout"/>
</ui:composition>
controller
package br.com.vle.controller.usuario;
import java.util.Map;
import java.util.logging.Logger;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.enterprise.context.Conversation;
import javax.enterprise.context.RequestScoped;
import javax.faces.component.UIParameter;
import javax.faces.component.html.HtmlInputText;
import javax.faces.context.FacesContext;
import javax.inject.Inject;
import javax.inject.Named;
import org.w3c.dom.events.Event;
import br.com.vle.comum.ControllerBase;
import br.com.vle.comum.Pages;
import br.com.vle.controller.perfilacesso.ProducePerfilAcessoSelecionado;
import br.com.vle.entidade.PerfilAcesso;
import br.com.vle.enuns.Estados;
import br.com.vle.servico.dao.DaoEndereco;
import br.com.vle.servico.dao.DaoPessoa;
import br.com.vle.servico.dao.DaoUsuario;
/**
*
-
@author Victor Godoi
*/
@Named
@RequestScoped
public class IncluirUsuarioController extends ControllerBase {
private static final long serialVersionUID = 8776100090021916640L;
@Inject
private transient Logger logger;
@Inject
private DaoUsuario daoUsuario;
@Inject
private DaoPessoa daoPessoa;
@Inject
private DaoEndereco daoEndereco;
@Inject
@ProducePerfilAcessoSelecionado
private PerfilAcesso perfilSelecionado;
@Inject
private ModelUsuario modelUsuario;
@Inject
private Conversation conversation;
private Estados estado;
private Estados[] estados(){
return Estados.values();
}
/**
* Initializing Data Access Service for LazyUserDataModel class role list for
* UserContoller class
*/
@PostConstruct
public void init() {
logger.info("=====================================");
logger.info("= Start IncluirUsuarioController ==");
logger.info("= conversation = " + conversation.getId());
logger.info("=====================================");
}
@PreDestroy
public void destroi() {
logger.info("=====================================");
logger.info("= Stop IncluirUsuarioController ===");
logger.info("=====================================");
}
public String salvar() {
logger.info("Perfil atual = " + perfilSelecionado.getPerfil());
messageInfo("usuario_salvar_sucesso");
return voltar(true);
}
public String buscarEndereco() {
daoEndereco.buscaEnderecoPorCep(modelUsuario.getCep());
//TODO implementar retorno
messageInfo("buscar endereco");
return redirect(Pages.MANTER_USUARIO_INCLUIR);
}
public void validaDocumento() {
}
/**
* @return
*/
// public String doBuscarPerfil() {
//
// modelUsuario.getNewUsuario().setId((String) modelUsuario.getPessoa().getCpfCnpj());
//
// logger.info("doBuscarPerfil atual = " + perfilSelecionado);
// return redirect(Pages.MANTER_PERFIL_SELECAO);
// }
public ModelUsuario getModelUsuario() {
return modelUsuario;
}
public void setModelUsuario(ModelUsuario model) {
this.modelUsuario = model;
}
public Estados[] getEstados() {
return estados();
}
public Estados getEstado() {
return estado;
}
public void setEstados(Estados estado) {
this.estado = estado;
}
}