GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Problemas ao recuperar valor dos atributos no back Primefaces

java
primefaces
Tags: #<Tag:0x00007fbf1c6fe360> #<Tag:0x00007fbf1c6fe220>

#1

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

}