Pessoal já estou há um tempo (dias) tentando resolver o seguinte problema.
eu tenho um imput text no qual a pessoa digita o nome de uma dependência e a partir do valor que a pessoa digitou o sistema busca as subordinadas dessa dependencia e carrega num selectOneMenu para que ela escolha a subordinada.
O problema é que o listener é chamado e a variável selectItemDependenciaSubordinada é carregada porém o selectOneMenu não é carregado.
Segue meu código
xhtml:
<p:inputText id="itPrefixoDependencia" value="#{contratoBean.prefixoDependenciaTemp}" >
<p:ajax update="somSubordinada" process="itPrefixoDependencia" partialSubmit="true" listener="#{contratoBean.carregaSubordinada}" />
</p:inputText>
<p:selectOneMenu id="somSubordinada" value="#{contratoBean.dependenciaSubordinadaTemp}" >
<f:selectItems value = "contratoBean.selectItemDependenciaSubordinadaaSubordinada"/>
<f:converter converterId="entityConverter"/>
</p:selectOneMenu>
MB:
public void carregaSubordinada(){
Dependencia depe = new Dependencia();;
depe = serviceLocator.getDependenciaService().findByPrefixo(getPrefixoDependenciaTemp().toString());
if (depe == null){
}else{
selectItemDependenciaSubordinada.clear();
for (DependenciaSubordinada d: depe.getSubordinadas()){
selectItemDependenciaSubordinada.add(new SelectItem(d, d.getDependenciaSubordinadaId().getSubordinada() + d.getNomeDependencia()));
}
}
listDependenciaSubordinada.addAll(depe.getSubordinadas());
return;
}
Obs:
Meu MB possui escopo view
o converter eu tirei daqui:
http://www.guj.com.br/java/220692-para-voce-entityconverter-para-qualquer-entidade-e-tipo-de-id
e também já testei sem o converter utilizando a solução apresentada aqui:
http://www.guj.com.br/java/250246-resolvidoduvida-com-selectonemenu-do-primefaces-e-jsf