Oi gente, tudo bem
tenho um h:selectOneMenu que uso para chamar o resultado para outro h:selectOneMenu, o codigo esta abaixo, no caso meu primeiro ‘selectOneMenu’ tem uma lista com Estados e o segundo ‘selectOneMenu’ tem uma lista com cidades, ou seja, ao clicar em um estado, ele mostra quais cidades estão disponiveis para escolha, ele faz a busca atraves do valueChangeListener e devolve os valores corretamente, porém ele acusa o seguinte erro
Formulario:pesCidade: Erro de validação: o valor não é válido
pagina.xhtml
<h:form id="Formulario">
<br/>
<h:selectOneMenu valueChangeListener="#{theSelectBean.mudaLista}" onchange="submit()" id="pesEstado" value="#{theSelectBean.nomeestado}">
<f:selectItems value="#{listaEstado.suaLista}" var="u" itemLabel="#{u.est_nom}" itemValue="#{u.est_nom}" />
</h:selectOneMenu>
<br/><br/>
<h:selectOneMenu id="pesCidade" value="#{gravaCidade.cid_nome}" >
<f:selectItems value="#{theSelectBean.cidades}" var="u" itemLabel="#{u.cid_nom}" itemValue="#{u.cid_nom}" />
</h:selectOneMenu>
<br/><br/>
</h:form>
TheSelectBean.java
@ManagedBean
public class TheSelectBean {
private String nome;
private String nomeestado;
private Integer idestado;
private String sexDesc;
private HtmlInputText sexDescCmp;
private String capt;
private HtmlInputText capturador;
private List cidades;
private HtmlSelectOneMenu selectonemenu;
public void mudaLista(ValueChangeEvent event) {
System.out.println("String: " + event.getNewValue().toString());
Session sessao = CriadorDeSessaoNovo.getSession();
Criteria listagem_query = sessao.createCriteria(Cidade.class).
createAlias("estado", "es").
addOrder(Order.asc("es.est_nom")).
add(Restrictions.eq("es.est_nom", event.getNewValue().toString() ).
ignoreCase());
setCidades(listagem_query.list());
sessao.close();
FacesContext.getCurrentInstance().renderResponse();
}
//setters e getters
Alguém tem alguma ideia de como corrigir isso?