Estou há dias com problemas em utilizar selectOneMenu alinhados, Pais e Estado onde para carregar estado depende do pais, eu consegui preenche os Paises e estou utilizando Ajax4Jsf para carregar o segundo, porém, neste momento estou com o problema de não conseguir obter o valor selecionado no Pais.
Tentei de diversas maneiras, postei várias vezes aqui no GUJ mas não consegui ajuda de ninguém, espero conseguir agora.
Veja o backingbean/managebean resumido:
public class ClubesMb implements Serializable{
...
private Integer paisSelecionado = 0; //
...
public SelectItem[] getAllCountrys(){
return (region.getPaises());
}
public Integer getPaisSelecionado() {
return paisSelecionado;
}
public void setPaisSelecionado(Integer paisSelecionado) {
this.paisSelecionado = paisSelecionado;
}
public String actChangeCountry(){
System.out.println("Pais Selecionado 2: " + this.paisSelecionado );
System.out.println("--");
return Util.SUCCESS;
}
}
O JSP
<a4j:outputPanel>
<h:outputLabel value="Selecionado: "/> <h:outputText value="#{clubesMb.paisSelecionado}"/>
</a4j:outputPanel>
<hr/>
<h:panelGrid columns="2" cellpadding="2" cellspacing="1" styleClass="main">
<!-- campos ocultados -->
<h:outputText value="Pais"/>
<h:selectOneMenu id="pais"
rendered="true"
immediate="true"
value="#{clubesMb.paisSelecionado}">
<f:selectItems value="#{clubesMb.allCountrys}"/>
<a4j:support event="onchange"
action="#{clubesMb.actChangeCountry}"
immediate="true"
reRender="estado"/>
</h:selectOneMenu>
<h:outputText value="Estado"/>
<h:selectOneMenu id="estado"
value="#{clubesMb.clube.estado.id_estado}"
rendered="true">
<f:selectItems value="#{clubesMb.estados}"/>
</h:selectOneMenu>
</h:panelGrid>
</a4j:form>
Quando o valor é modificado no dropdown pais o valor do atributo clubesMb.paisSelecionado não é modificado, quero dizer, não é recarregado , com isto, o valor sempre é zero e não é possível carregar os estados daquele país.
Será que pode ser algum erro no configuração no faces-config.xml?!??
<managed-bean>
<managed-bean-name>clubesMb</managed-bean-name>
<managed-bean-class>com.clubs.control.ClubesMb</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
Agradeço pela atenção.