Problemas com h:selectOneMenu

8 respostas
Mr.style

Boa tarde pessoal,
estou com um problema estranho.
Tenho uma página de cadastro, onde uso herança e tudo mais…
Preencho todos os campos certinho, mas quando chega no MB, todos os campos que são de um h:selectOneMenu vem vazio ("").
Fiz um teste colocando estes campos como obrigatórios.
Mas ele só faz a validação no cliente, quando chega no MB já chega vazio.

Alguém sabe o que poderia ser???

Só mais um Detalhe…
Tenho uma página de consulta.
Porém os atributos eu deixei no MB para teste.
E o h:selectOneMenu retorna os dados perfeitamente.
A diferença é que no cadastro eu uso <p:wizard> do prime com suas tabs

Agradeço a atenção.

8 Respostas

marcelo.silva

Coloca o código do MB e do jsp/facelet

A

Sempre poste o código, assim não da pra saber.

Mr.style

Minha Página

&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;

&lt;ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.prime.com.tr/ui"&gt;


	&lt;ui:composition template="/templates/template.xhtml"&gt;
		&lt;ui:define name="topo"&gt;
			&lt;ui:include src="/pages/geral/topo.xhtml" /&gt;
		&lt;/ui:define&gt;

		&lt;ui:define name="menu"&gt;
			&lt;ui:include src="/pages/gestor/menu.xhtml" /&gt;
		&lt;/ui:define&gt;&lt;!--

		&lt;ui:define name="lateral"&gt;
			&lt;ui:include src="/pages/gestor/lateral.xhtml" /&gt;
		&lt;/ui:define&gt;

		--&gt;&lt;ui:define name="conteudo"&gt;
			&lt;h:form id="cadastro_idoso" styleClass="form-cadastro" style="font-size:15px;"&gt;
				&lt;p:panel header="Cadastro de Aluno"&gt;
					&lt;p:wizard flowListener="#{idosoBean.proximaEtapa}"
						backLabel="Voltar" nextLabel="Pr&oacute;xima" widgetVar="wiz"&gt;
						&lt;p:growl id="messages" showDetail="true" /&gt;
						&lt;p:messages id="msgs" showDetail="true"/&gt;

						&lt;p:tab title="Identifica&ccedil;&atilde;o"&gt;
							&lt;p:fieldset legend="Dados B&aacute;sicos"&gt;
								&lt;h:panelGrid columns="3" cellpadding="5"&gt;

									&lt;h:outputLabel for="nome" value="Nome Completo: " /&gt;
									&lt;p:inputText styleClass="input-maior"
										value="#{idosoBean.idoso.nome}"
										id="nome"  required="true" label="Nome"
										requiredMessage="O nome &eacute; Obrigat&oacute;rio"&gt;
									&lt;f:validateLength minimum="10" /&gt;
									&lt;/p:inputText&gt;
									&lt;p:message for="nome" /&gt;

									&lt;h:outputLabel for="dataNasc" value="Data de Nascimento: " /&gt;
									&lt;p:inputMask styleClass="input-data"
										value="#{idosoBean.idoso.dataNasc}"
										id="dataNasc" mask="99/99/9999" required="true" maxlength="10"
										requiredMessage="A Data de Nascimento &eacute; Obrigat&oacute;ria"&gt;
									&lt;f:convertDateTime dateStyle="medium" /&gt;
									&lt;/p:inputMask&gt;
									&lt;p:message for="dataNasc" /&gt;

									&lt;h:outputLabel value="Estado Civil: " for="estadoCivil" /&gt;
									&lt;h:selectOneMenu id="estadoCivil" styleClass="input-select"
										value="#{idosoBean.idoso.estadoCivil}" &gt;
										&lt;f:selectItem itemLabel=" -- Selecione --" itemValue="" /&gt;
										&lt;f:selectItems value="#{idosoBean.listaEstadosCivis}" /&gt;
									&lt;/h:selectOneMenu&gt;
									&lt;p:message for="estadoCivil" /&gt;

									&lt;h:outputLabel value="Sexo: " /&gt;
									&lt;h:selectOneMenu id="sexo" styleClass="input-select"
										value="#{idosoBean.idoso.sexo}" &gt;
										&lt;f:selectItem itemLabel=" -- Selecione --" itemValue="" /&gt;
										&lt;f:selectItems value="#{idosoBean.listaSexo}" /&gt;
									&lt;/h:selectOneMenu&gt;
									&lt;p:message for="sexo" /&gt;

									&lt;h:outputLabel for="naturalidade" value="Naturalidade: " /&gt;
									&lt;p:inputText styleClass="input-maior" value="#{idosoBean.idoso.naturalidade}"
										id="naturalidade" label="Naturalidade"&gt;
									&lt;/p:inputText&gt;
									&lt;p:message for="naturalidade" /&gt;

								&lt;/h:panelGrid&gt;
							&lt;/p:fieldset&gt;

							&lt;p:fieldset legend="Informa&ccedil;&otilde;es Adicionais"&gt;
								&lt;h:panelGrid columns="2" cellpadding="5"&gt;

									&lt;h:column&gt;
									&lt;h:outputLabel value="Cor/Ra&ccedil;a " for="raca" /&gt;
									&lt;h:selectOneMenu id="raca" styleClass="input-select" value="#{idosoBean.idoso.raca}"&gt;
										&lt;f:selectItem itemLabel=" -- Selecione --" itemValue="" /&gt;
										&lt;f:selectItems value="#{idosoBean.listaRaca}" /&gt;
									&lt;/h:selectOneMenu&gt;
									&lt;/h:column&gt;

									&lt;h:column&gt;
									&lt;h:outputLabel value="TipoSangu&iacute;neo " for="tiposanguineo" /&gt;
									&lt;h:selectOneMenu id="tiposanguineo" styleClass="input-select" value="#{idosoBean.idoso.tipoSanguineo}" &gt;
										&lt;f:selectItem itemLabel=" -- Selecione --" itemValue="" /&gt;
										&lt;f:selectItems value="#{idosoBean.listaTipoSanguineo}" /&gt;
									&lt;/h:selectOneMenu&gt;
									&lt;/h:column&gt;

									&lt;h:column&gt;
										&lt;fieldset&gt;
										&lt;legend&gt;Portador de Necessidades Especiais (PNE)&lt;/legend&gt;
											&lt;h:panelGrid columns="2" cellpadding="5"&gt;
												&lt;h:outputLabel value="Tipo:"/&gt; <br />
												&lt;h:selectManyCheckbox value="#{idosoBean.idoso.tipoPNE}"&gt;
													&lt;f:selectItem itemLabel=" Fisica " itemValue="Fisica" /&gt;
													&lt;f:selectItem itemLabel=" Auditiva " itemValue="Auditiva" /&gt;
													&lt;f:selectItem itemLabel=" Fala " itemValue="Fala" /&gt;
													&lt;f:selectItem itemLabel=" Visual" itemValue="Visual" /&gt;
													&lt;f:selectItem itemLabel=" Mental" itemValue="Mental" /&gt;
												&lt;/h:selectManyCheckbox&gt;<br />

												&lt;h:outputLabel value="Recursos para realizacao do trabalho:"/&gt;<br />
												&lt;p:inputTextarea value="#{idosoBean.idoso.recursoRealizacaoTrabalho}" style="width:300px;height:100px;" effectDuration="400"/&gt; <br />

												&lt;h:outputLabel value="Recursos para acessibilidade ao local de trabalho:"/&gt;<br />
												&lt;p:inputTextarea value="#{idosoBean.idoso.recursoAcessibilidadeTrabalho}" style="width:300px;height:100px;" effectDuration="400"/&gt;<br />

											&lt;/h:panelGrid&gt;
										&lt;/fieldset&gt;
									&lt;/h:column&gt;

									&lt;h:column&gt;
										&lt;fieldset style="margin-top:-230px;"&gt;
										&lt;legend&gt;Atendimento Especial&lt;/legend&gt;
											&lt;h:panelGrid columns="2" cellpadding="5"&gt;

											&lt;h:outputLabel value="F&iacute;sico: " /&gt;
												&lt;h:selectOneMenu id="atendmentoEF" styleClass="input-select" evalue="#{idosoBean.idoso.atendEspecialFisico}"&gt;
													&lt;f:selectItem itemLabel=" -- Selecione --" itemValue="" /&gt;
													&lt;f:selectItem itemValue="Nenhum" itemLabel=" Nenhum "  /&gt;
													&lt;f:selectItem itemValue="SalaTerreo" itemLabel=" Sala no T&eacute;rreo"/&gt;
													&lt;f:selectItem itemValue="AuxilioTranscricao" itemLabel=" Auxilio para transcricao"  /&gt;
													&lt;f:selectItem itemValue="Mesa" itemLabel=" Mesa Adaptada (Cad. Rodas)" /&gt;
													&lt;f:selectItem itemValue="Amamentacao" itemLabel=" Amamentacao"  /&gt;
												&lt;/h:selectOneMenu&gt;

											&lt;h:outputLabel value="Visual " /&gt;
												&lt;h:selectOneMenu id="atendmentoEV" styleClass="input-select" value="#{idosoBean.idoso.atendEspecialVisual}"&gt;
													&lt;f:selectItem itemLabel=" -- Selecione --" itemValue=""  /&gt;
													&lt;f:selectItem itemValue="Nenhum" itemLabel=" Nenhum "  /&gt;
													&lt;f:selectItem itemValue="ProvaBraile " itemLabel=" Prova de Braile "  /&gt;
													&lt;f:selectItem itemValue="ProvaAmpliada"  itemLabel=" Prova Ampliada"  /&gt;
													&lt;f:selectItem itemValue="AuxilioLeituraEscrita"  itemLabel=" Auxilio para Leitura/Escrita"  /&gt;
												&lt;/h:selectOneMenu&gt;

											&lt;h:outputLabel value="Auditivo " /&gt;
												&lt;h:selectOneMenu id="atendmentoEA" styleClass="input-select" value="#{idosoBean.idoso.atendEspecialAuditivo}"&gt;
													&lt;f:selectItem itemLabel=" -- Selecione --" itemValue="" /&gt;
													&lt;f:selectItem itemValue="Nenhum" itemLabel=" Nenhum "  /&gt;
													&lt;f:selectItem itemValue="InterpreteSinal" itemLabel=" Interprete de Sinal - Libras"  /&gt;
													&lt;f:selectItem itemValue="LeituraLabial" itemLabel=" Leitura Labial" /&gt;
												&lt;/h:selectOneMenu&gt;

											&lt;/h:panelGrid&gt;
										&lt;/fieldset&gt;
									&lt;/h:column&gt;

								&lt;/h:panelGrid&gt;
							&lt;/p:fieldset&gt;
						&lt;/p:tab&gt;

						&lt;p:tab title="Endere&ccedil;o"&gt;
							&lt;p:fieldset legend="Endere&ccedil;o"&gt;

								&lt;h:panelGrid columns="3" cellpadding="5"&gt;

									&lt;h:outputLabel value="Logadouro: " for="logadouro" /&gt;
									&lt;p:inputText styleClass="input-maior"
										value="#{idosoBean.idoso.endereco.logadouro}"
										id="logadouro" required="true"
										label="Logadouro" requiredMessage="Digite o Logadouro"&gt;
										&lt;f:validateLength minimum="10" /&gt;
									&lt;/p:inputText&gt;
									&lt;p:message for="logadouro" /&gt;

									&lt;h:outputLabel value="Complemento " for="complemento" /&gt;
									&lt;p:inputText styleClass="input-medio"
										value="#{idosoBean.idoso.endereco.complemento}"
										id="complemento" label="Complemento"  /&gt;
									&lt;p:message for="complemento" /&gt;

									&lt;h:outputLabel value="Bairro " for="bairro" /&gt;
									&lt;p:inputText styleClass="input-medio"
										value="#{idosoBean.idoso.endereco.bairro}"
										id="bairro" required="true"
										label="Nome" requiredMessage="Digite o Endere&ccedil;o" /&gt;
									&lt;p:message for="bairro" /&gt;

									&lt;h:outputLabel value="Cidade " for="cidade" /&gt;
									&lt;p:inputText styleClass="input-medio"
										value="#{idosoBean.idoso.endereco.cidade}"
										id="cidade" required="true"
										label="Nome" requiredMessage="Digite o Endere&ccedil;o" /&gt;
									&lt;p:message for="cidade" /&gt;

									&lt;h:outputLabel value="Estado: " for="uf" /&gt;
									&lt;h:selectOneMenu id="uf" styleClass="input-select" required="true" requiredMessage="Escolha a Unidade Federativa"
										value="#{idosoBean.idoso.endereco.uf}" &gt;
										&lt;f:selectItem itemLabel=" -- Selecione --" itemValue="" /&gt;
										&lt;f:selectItems value="#{idosoBean.listaUfs}" /&gt;
									&lt;/h:selectOneMenu&gt;
									&lt;p:message for="uf" /&gt;

								&lt;/h:panelGrid&gt;
							&lt;/p:fieldset&gt;
						&lt;/p:tab&gt;

						&lt;p:tab title="Documentos"&gt;
							&lt;p:fieldset legend="Documentos"&gt;
								&lt;h:panelGrid columns="3" cellpadding="5"&gt;
									&lt;h:outputLabel for="cpf" value="CPF: " /&gt;
									&lt;p:inputMask styleClass="input-menor"
										value="#{idosoBean.idoso.cpf}"
										mask="[CPF removido]" id="cpf" maxlength="14" required="true"
										requiredMessage="O CPF &eacute; Obrigat&oacute;rio" /&gt;
									&lt;p:message for="cpf" /&gt;

									&lt;h:outputLabel for="rg" value="RG: " /&gt;
									&lt;p:inputText styleClass="input-menor"
										value="#{idosoBean.idoso.rg}" id="rg"
										required="true" label="Nome" maxlength="15"
										requiredMessage="O RG &eacute; Obrigat&oacute;rio" /&gt;
									&lt;p:message for="rg" /&gt;

									&lt;h:outputLabel for="tituloeleitor" value="Titulo de Eleitor " /&gt;
									&lt;p:inputText styleClass="input-menor"
										value="#{idosoBean.idoso.tituloEleitor}" id="tituloeleitor" label="tituloeleitor"  /&gt;

								&lt;/h:panelGrid&gt;
							&lt;/p:fieldset&gt;
						&lt;/p:tab&gt;

						&lt;p:tab title="Contatos"&gt;
							&lt;p:fieldset legend="Contatos"&gt;
								&lt;h:panelGrid columns="3" cellpadding="5"&gt;

									&lt;h:outputText value="E-mail: " /&gt;
									&lt;p:inputText styleClass="input-maior"
										value="#{idosoBean.idoso.usuario.email}" id="email"
									    required="true" label="Email"
										requiredMessage="Digite o Email do usuario" validatorMessage="Email inválido"&gt;
										&lt;f:validateRegex pattern="[a-zA-Z0-9\-\_\.]+@[a-zA-Z0-9\-\_\.]+"/&gt;
									&lt;/p:inputText&gt;
									&lt;p:message for="email" /&gt;

									&lt;h:outputLabel value="Telefone: " /&gt;
									&lt;p:inputMask styleClass="input-menor"
										value="#{idosoBean.idoso.telefone}"
										mask="([telefone removido]" id="telefone" maxlength="13"&gt;
									&lt;/p:inputMask&gt;
									&lt;h:column&gt;&lt;/h:column&gt;

									&lt;h:outputLabel value="Celular: " /&gt;
									&lt;p:inputMask styleClass="input-menor"
										value="#{idosoBean.idoso.celular}"
										mask="([telefone removido]" id="celular" maxlength="13" /&gt;
									&lt;h:column&gt;&lt;/h:column&gt;

									&lt;h:outputLabel value="Comercial " /&gt;
									&lt;p:inputMask styleClass="input-menor"
										value="#{idosoBean.idoso.telcom}"
										mask="([telefone removido]" id="comercial" maxlength="13" /&gt;
									&lt;h:column&gt;&lt;/h:column&gt;

								&lt;/h:panelGrid&gt;
							&lt;/p:fieldset&gt;
						&lt;/p:tab&gt;

						&lt;p:tab title="Atividades"&gt;
							&lt;p:fieldset legend="Atividades"&gt;
								&lt;h:panelGrid columns="2" cellpadding="5"&gt;

									&lt;h:outputLabel value="Atividade 1: " /&gt;
									&lt;h:selectOneMenu id="atividade1" styleClass="input-select"
										value="#{idosoBean.idoso.atividades}" &gt;
										&lt;f:selectItem itemLabel=" -- Selecione --" itemValue="" /&gt;
										&lt;f:selectItems value="#{idosoBean.listaAtividades}" /&gt;
									&lt;/h:selectOneMenu&gt;

									&lt;h:outputLabel value="Atividade 2: " /&gt;
									&lt;h:selectOneMenu id="atividade2" styleClass="input-select"
										value="#{idosoBean.idoso.atividades}" &gt;
										&lt;f:selectItem itemLabel=" -- Selecione --" itemValue="" /&gt;
										&lt;f:selectItems value="#{idosoBean.listaAtividades}" /&gt;
									&lt;/h:selectOneMenu&gt;

									&lt;h:outputLabel value="Atividade 3: " /&gt;
									&lt;h:selectOneMenu id="atividade3" styleClass="input-select"
										value="#{idosoBean.idoso.atividades}" &gt;
										&lt;f:selectItem itemLabel=" -- Selecione --" itemValue="" /&gt;
										&lt;f:selectItems value="#{idosoBean.listaAtividades}" /&gt;
									&lt;/h:selectOneMenu&gt;

								&lt;/h:panelGrid&gt;
							&lt;/p:fieldset&gt;
						&lt;/p:tab&gt;

						&lt;p:tab title="Dados Complementar"&gt;
							&lt;p:fieldset legend="Dados Complementar"&gt;
								&lt;h:panelGrid columns="2" cellpadding="5"&gt;

								&lt;h:outputLabel value="Faixa Salarial: " /&gt;
								&lt;h:selectOneMenu id="faixasalarial" styleClass="input-select" value="#{idosoBean.idoso.faixaSalarial}" &gt;
									&lt;f:selectItem itemLabel=" -- Selecione --" itemValue="" /&gt;
									&lt;f:selectItem itemLabel=" TESTE" itemValue="100" /&gt;
								&lt;/h:selectOneMenu&gt;

								&lt;h:outputLabel value="Tipo de residencia: " /&gt;
								&lt;h:selectOneMenu id="tiporesidencia" styleClass="input-select" value="#{idosoBean.idoso.tipoResidencia}" &gt;
									&lt;f:selectItem itemLabel=" -- Selecione --" itemValue="" /&gt;
									&lt;f:selectItem itemLabel="Aluguel" itemValue="Aluguel" /&gt;
								&lt;/h:selectOneMenu&gt;

								&lt;/h:panelGrid&gt;
							&lt;/p:fieldset&gt;
						&lt;/p:tab&gt;

						&lt;p:tab title="Confirmar"&gt;
							&lt;p:fieldset legend="Confirmar"&gt;
								&lt;h:panelGrid columns="2" cellpadding="5"&gt;

									COLOCAR AKI

									&lt;h:column&gt;&lt;/h:column&gt;

									&lt;p:commandButton update="msgs" styleClass="botao-submit" value="Submit" ajax="false" action="#{idosoBean.cadastrarIdoso}" /&gt;

								&lt;/h:panelGrid&gt;
							&lt;/p:fieldset&gt;
						&lt;/p:tab&gt;
					&lt;/p:wizard&gt;

					&lt;p:ajaxStatus&gt;
						&lt;f:facet name="start"&gt;
							&lt;h:graphicImage value="/resources/images/ajaxloading.gif" /&gt;
						&lt;/f:facet&gt;

						&lt;f:facet name="complete"&gt;
							&lt;h:outputText value="" /&gt;
						&lt;/f:facet&gt;
					&lt;/p:ajaxStatus&gt;
				&lt;/p:panel&gt;
			&lt;/h:form&gt;
		&lt;/ui:define&gt;

		&lt;ui:define name="rodape"&gt;
			&lt;ui:include src="/pages/geral/rodape.xhtml" /&gt;
		&lt;/ui:define&gt;


	&lt;/ui:composition&gt;
&lt;/ui:composition&gt;

Meu MB:

@ManagedBean
@ViewScoped
public class IdosoBean extends GenericoBean {

	private static final long serialVersionUID = 7135458334185852221L;

	private List&lt;SelectItem&gt; listaUfs = null;

	private List&lt;SelectItem&gt; listaEstadosCivis = null;

	private List&lt;SelectItem&gt; listaSexo = null;

	private List&lt;SelectItem&gt; listaRaca = null;

	private List&lt;SelectItem&gt; listaTipoSanguineo = null;

	private List&lt;Atividade&gt; listaAtividades = null;

	// Consulta
	private String txtConsulta;
	private String tipoConsulta;

	private IdosoBO idosoBO;

	@ManagedProperty(value = "#{idoso}")
	private Idoso idoso;

	private List&lt;Idoso&gt; idosos;

	public IdosoBean() {
		this.idosos = new ArrayList&lt;Idoso&gt;();
		this.listaUfs = IdosoBean.getListaUnidadesFederativa();
		this.listaEstadosCivis = IdosoBean.getListaEstadoCivil();
		this.listaRaca = IdosoBean.getRaca();
		this.listaSexo = IdosoBean.getSexo();
		this.listaTipoSanguineo = IdosoBean.getTipoSanguineo();
		this.listaAtividades = IdosoBean.getAtividades();
	}

	@PostConstruct
    public void init() {
        this.idoso = new Idoso();
    }

	public String cadastrarIdoso() {

		try {

			idosoBO = new IdosoBO();
			idosoBO.cadastrarIdoso(idoso);
			FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "CADASTRO REALIZADO COM SUCESSO", null));
			retorno = "index";
		} catch (Exception e) {
		}


		return retorno;
	}

	public String consultarIdoso(){

		try {
			System.out.println(getTipoConsulta());
			System.out.println(getTxtConsulta());
		} catch (Exception e) {
			// TODO: handle exception
		}


		return retorno;
	}

	public String proximaEtapa(FlowEvent event) {
		return event.getNewStep();
	}

	/* --------------------------------------------------------------------- */
	/* ------------------------ Métodos get / set -------------------------- */
	/* --------------------------------------------------------------------- */
	public Idoso getIdoso() {
		return idoso;
	}
	public void setIdoso(Idoso idoso) {
		this.idoso = idoso;
	}
	public List&lt;SelectItem&gt; getListaUfs() {
		return listaUfs;
	}
	public void setListaUfs(List&lt;SelectItem&gt; listaUfs) {
		this.listaUfs = listaUfs;
	}
	public List&lt;SelectItem&gt; getListaEstadosCivis() {
		return listaEstadosCivis;
	}
	public void setListaEstadosCivis(List&lt;SelectItem&gt; listaEstadosCivis) {
		this.listaEstadosCivis = listaEstadosCivis;
	}
	public List&lt;Idoso&gt; getIdosos() {
		return idosos;
	}
	public void setIdosos(List&lt;Idoso&gt; idosos) {
		this.idosos = idosos;
	}

	public List&lt;SelectItem&gt; getListaRaca() {
		return listaRaca;
	}

	public void setListaRaca(List&lt;SelectItem&gt; listaRaca) {
		this.listaRaca = listaRaca;
	}

	public List&lt;SelectItem&gt; getListaSexo() {
		return listaSexo;
	}

	public void setListaSexo(List&lt;SelectItem&gt; listaSexo) {
		this.listaSexo = listaSexo;
	}

	public List&lt;SelectItem&gt; getListaTipoSanguineo() {
		return listaTipoSanguineo;
	}

	public void setListaTipoSanguineo(List&lt;SelectItem&gt; listaTipoSanguineo) {
		this.listaTipoSanguineo = listaTipoSanguineo;
	}

	public List&lt;Atividade&gt; getListaAtividades() {
		return listaAtividades;
	}

	public void setListaAtividades(List&lt;Atividade&gt; listaAtividades) {
		this.listaAtividades = listaAtividades;
	}

	public String getTxtConsulta() {
		return txtConsulta;
	}

	public void setTxtConsulta(String txtConsulta) {
		this.txtConsulta = txtConsulta;
	}

	public String getTipoConsulta() {
		return tipoConsulta;
	}

	public void setTipoConsulta(String tipoConsulta) {
		this.tipoConsulta = tipoConsulta;
	}

}
Minha Entidade:
@Entity
@Table(name="idoso")
public class Idoso extends Pessoa implements Serializable {

	private static final long serialVersionUID = 8319293701896958586L;

	@EmbeddedId
	private IdosoPK pkIdoso;

	private Usuario usuario;

	private List&lt;Atividade&gt; atividades;

	@Column()
	private List&lt;String&gt; tipoPNE; // Tipo de Portador de Necessidade Especial

	private String recursoRealizacaoTrabalho;

	private String recursoAcessibilidadeTrabalho;

	private String atendEspecialFisico;

	private String atendEspecialVisual;

	private String atendEspecialAuditivo;

	private String faixaSalarial;

	private String tipoResidencia;

    public Idoso() {
    	super();
    	setEndereco(new Endereco());
    	setUsuario(new Usuario());
    	setAtividades(new ArrayList&lt;Atividade&gt;());
    }

	/* --------------------------------------------------------------------- */
	/* ------------------------ Métodos get / set -------------------------- */
	/* --------------------------------------------------------------------- */

    public IdosoPK getPkIdoso() {
		return pkIdoso;
	}
	public void setPkIdoso(IdosoPK pkIdoso) {
		this.pkIdoso = pkIdoso;
	}
	public List&lt;String&gt; getTipoPNE() {
		return tipoPNE;
	}
	public void setTipoPNE(List&lt;String&gt; tipoPNE) {
		this.tipoPNE = tipoPNE;
	}
	public String getRecursoRealizacaoTrabalho() {
		return recursoRealizacaoTrabalho;
	}
	public void setRecursoRealizacaoTrabalho(String recursoRealizacaoTrabalho) {
		this.recursoRealizacaoTrabalho = recursoRealizacaoTrabalho;
	}
	public String getRecursoAcessibilidadeTrabalho() {
		return recursoAcessibilidadeTrabalho;
	}
	public void setRecursoAcessibilidadeTrabalho(
			String recursoAcessibilidadeTrabalho) {
		this.recursoAcessibilidadeTrabalho = recursoAcessibilidadeTrabalho;
	}
	public String getAtendEspecialFisico() {
		return atendEspecialFisico;
	}
	public void setAtendEspecialFisico(String atendEspecialFisico) {
		this.atendEspecialFisico = atendEspecialFisico;
	}
	public String getAtendEspecialVisual() {
		return atendEspecialVisual;
	}
	public void setAtendEspecialVisual(String atendEspecialVisual) {
		this.atendEspecialVisual = atendEspecialVisual;
	}
	public String getAtendEspecialAuditivo() {
		return atendEspecialAuditivo;
	}
	public void setAtendEspecialAuditivo(String atendEspecialAuditivo) {
		this.atendEspecialAuditivo = atendEspecialAuditivo;
	}
	public Usuario getUsuario() {
		return usuario;
	}
	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}
	public List&lt;Atividade&gt; getAtividades() {
		return atividades;
	}
	public void setAtividades(List&lt;Atividade&gt; atividades) {
		this.atividades = atividades;
	}
	public String getFaixaSalarial() {
		return faixaSalarial;
	}
	public void setFaixaSalarial(String faixaSalarial) {
		this.faixaSalarial = faixaSalarial;
	}
	public String getTipoResidencia() {
		return tipoResidencia;
	}
	public void setTipoResidencia(String tipoResidencia) {
		this.tipoResidencia = tipoResidencia;
	}

	/* --------------------------------------------------------------------- */
	/* ------------------------ Métodos equals / hashCode ------------------ */
	/* --------------------------------------------------------------------- */

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = super.hashCode();
		result = prime * result + ((pkIdoso == null) ? 0 : pkIdoso.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (!super.equals(obj))
			return false;
		if (getClass() != obj.getClass())
			return false;
		Idoso other = (Idoso) obj;
		if (pkIdoso == null) {
			if (other.pkIdoso != null)
				return false;
		} else if (!pkIdoso.equals(other.pkIdoso))
			return false;
		return true;
	}

}

Minha Classe Pai:

@Entity
@Table(name="pessoa")
@Inheritance(strategy=InheritanceType.JOINED)
public class Pessoa extends EntidadeGenerica implements Serializable {

	private static final long serialVersionUID = 568811411426142527L;

	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="cod", unique=true, nullable=false)
	private Integer cod;

	@OneToOne(fetch=FetchType.LAZY, cascade=CascadeType.ALL)
	@PrimaryKeyJoinColumn(name="cod")
	private Endereco endereco;

	@Column(name="cpf", length=14)
	private String cpf;

    @Temporal( TemporalType.DATE)
	@Column(name="datanasc")
	private Date dataNasc;

	@Column(name="nome", nullable=false, length=100)
	private String nome;

	@Column(name="orgaorg", length=10)
	private String orgaoRg;

	@Column(name="rg", length=15)
	private String rg;

	@Column(name="sexo",length=1)
	private String sexo;

	@Column(name="estadocivil", length=1)
	private String estadoCivil;

	@Column(name="telefone", length=14)
	private String telefone;

	@Column(name="celular", length=14)
	private String celular;

	@Column(name="telcom", length=1)
	private String telcom;

	@Column
	private String naturalidade;

	@Column
	private String raca;

	@Column
	private String tipoSanguineo;

	private String tituloEleitor;

    public Pessoa() {
    	super();
    }

	/* --------------------------------------------------------------------- */
	/* ------------------------ Métodos get / set -------------------------- */
	/* --------------------------------------------------------------------- */

	public Integer getCod() {
		return cod;
	}
	public void setCod(Integer cod) {
		this.cod = cod;
	}
	public Endereco getEndereco() {
		return endereco;
	}
	public void setEndereco(Endereco endereco) {
		this.endereco = endereco;
	}
	public String getCpf() {
		return cpf;
	}
	public void setCpf(String cpf) {
		this.cpf = cpf;
	}
	public Date getDataNasc() {
		return dataNasc;
	}
	public void setDataNasc(Date dataNasc) {
		this.dataNasc = dataNasc;
	}
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public String getOrgaoRg() {
		return orgaoRg;
	}
	public void setOrgaoRg(String orgaoRg) {
		this.orgaoRg = orgaoRg;
	}
	public String getRg() {
		return rg;
	}
	public void setRg(String rg) {
		this.rg = rg;
	}
	public String getSexo() {
		return sexo;
	}
	public void setSexo(String sexo) {
		this.sexo = sexo;
	}
	public String getEstadoCivil() {
		return estadoCivil;
	}
	public void setEstadoCivil(String estadoCivil) {
		this.estadoCivil = estadoCivil;
	}
	public String getTelefone() {
		return telefone;
	}
	public void setTelefone(String telefone) {
		this.telefone = telefone;
	}
	public String getCelular() {
		return celular;
	}
	public void setCelular(String celular) {
		this.celular = celular;
	}
	public String getTelcom() {
		return telcom;
	}
	public void setTelcom(String telcom) {
		this.telcom = telcom;
	}
	public String getNaturalidade() {
		return naturalidade;
	}
	public void setNaturalidade(String naturalidade) {
		this.naturalidade = naturalidade;
	}
	public String getRaca() {
		return raca;
	}
	public void setRaca(String raca) {
		this.raca = raca;
	}
	public String getTipoSanguineo() {
		return tipoSanguineo;
	}
	public void setTipoSanguineo(String tipoSanguineo) {
		this.tipoSanguineo = tipoSanguineo;
	}
	public String getTituloEleitor() {
		return tituloEleitor;
	}
	public void setTituloEleitor(String tituloEleitor) {
		this.tituloEleitor = tituloEleitor;
	}

	/* --------------------------------------------------------------------- */
	/* ------------------------ Métodos equals / hashCode ------------------ */
	/* --------------------------------------------------------------------- */
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((cod == null) ? 0 : cod.hashCode());
		result = prime * result + ((cpf == null) ? 0 : cpf.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Pessoa other = (Pessoa) obj;
		if (cod == null) {
			if (other.cod != null)
				return false;
		} else if (!cod.equals(other.cod))
			return false;
		if (cpf == null) {
			if (other.cpf != null)
				return false;
		} else if (!cpf.equals(other.cpf))
			return false;
		return true;
	}

}

Por favor despresem o Mapeamento...
Pois estão todos errados...

Obrigado!

marcelo.silva

Então
no jsf/facelet, o <f:selectItems/> deve ser uma lista de SelectItem, você está colocando um ArrayList
Tente fazer o seguinte no Bean
List comboAtividades = new ArrayList();

for(Atividade atividade : this.listaAtividades) {

comboAtividades.add(new SelectItem(atividade.getId(),atividade.getDescricao()));

}

Mr.style

Os outros selects são SelectItem e mesmo assim não está rolando…
Isso que é froids

marcelo.silva

Faça isso para todos os SelectItem… Instancie primeiro depois adicione os elementos…

Mr.style

eles estão sendo instanciados em sua criação…

public static List<SelectItem> getListaEstadoCivil(){

		if(estadoCivil == null) {
			estadoCivil = new ArrayList<SelectItem>();
			estadoCivil.add(new SelectItem("Solteiro","Solteiro"));
			estadoCivil.add(new SelectItem("Casado","Casado"));
			estadoCivil.add(new SelectItem("Viúvo","Viúvo"));
			estadoCivil.add(new SelectItem("Divorciado","Divorciado"));
		}
		return estadoCivil;
	}

e Mesmo eu colocando no MB não adiantou…
muito estranho isso…
pq é só nesta tela que está dando isso.
to pra refazer ela…
hehe

marcelo.silva

Ai ta estranho mesmo rsrsrs

Criado 12 de abril de 2011
Ultima resposta 13 de abr. de 2011
Respostas 8
Participantes 3