Carregamento do bean ao salvar

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.

Quando você clica no botão salvar, você está submetendo o formulário e todos os valores que estão associados a algo no managedBean. Veja que os dois f:viewParam estão fora do teu form, logo, não serão enviados ao managedBean.
Entendeu?

Obrigado pela resposta.

Eu vi sim, mas se reparar, eu coloquei os mesmos campos de f:viewParam como campos <h:inputHidden dentro do form. A solução que consegui encontrar foi trocar o escopo para @ViewScoped, porém, com @RequestedScoped, não consegui entender porque os valores não são submetidos junto com o form, uma vez que estão ocultos dentro do form.