Pessoal,
Sou iniciante no Jsf e estou com dúvidas nas fases da requisição.
Tenho o bean:
@ManagedBean(name="candidatoBean")
@RequestScoped
public class CandidatoBean {
private Candidato candidato = new Candidato();
private Integer idSegmento;
private Integer idInscricao;
private String nomeResponsavel;
private String nomeDependente;
...
Meu xhtml:
<f:metadata>
<f:viewParam name="idInscricao" value="#{candidatoBean.idInscricao}" />
<f:viewParam name="idSegmento" value="#{candidatoBean.idSegmento}" />
</f:metadata>
<h:form id="cadastro">
<h:inputHidden value="#{candidatoBean.candidato.id}"/>
<h:inputText value="#{candidatoBean.idInscricao}" />
<h:inputText value="#{candidatoBean.idSegmento}" />
<h:outputLabel value="Ano Atual" />
<h:selectOneMenu value="#{candidatoBean.candidato.anoAtual}" required="true" requiredMessage="Ano atual deve ser informado!">
<f:selectItem itemLabel="Selecione" noSelectionOption="true" />
<f:selectItems value="#{candidatoBean.anos}" var="anoAtual" itemLabel="#{anoAtual.descricao}" />
</h:selectOneMenu>
<h:outputLabel value="Ano Pretendido" />
<h:selectOneMenu value="#{candidatoBean.candidato.anoPretendido}" required="true" requiredMessage="Ano pretendido deve ser informado!">
<f:selectItem itemLabel="Selecione" noSelectionOption="true" />
<f:selectItems value="#{candidatoBean.anosPorSegmento}" var="anoPretendido" itemLabel="#{anoPretendido.descricao}" />
</h:selectOneMenu>
...
A dúvida é a seguinte:
Quando faço a chamada da página, os parâmetros passados por get são recuperados por f:viewParam, e {candidatoBean.anosPorSegmento} utiliza o atributo idSegmento do bean para filtrar os anos. Até aqui, tudo funciona como o esperado.
O problema ocorre quando clico no botão salvar. Debugando, vejo que o método que carrega {candidatoBean.anosPorSegmento} não tem mais o idSegmento preenchido.
Onde estou errando?
Desde já, agradeço a ajuda.