Carga dinâmica de <f:selectItems>

0 respostas
jeancz

Tenho um formulário com dois combos: marca e modelos.

Quando eu seleciono a marca o sistema deve atualizar o campo modelos com os modelos de tal marca.

O código:

<h:selectOneMenu value="#{veiculo.marca}">
   <f:selectItems value="#{veiculo.marcas}"/>
</h:selectOneMenu>

<h:selectOneMenu value="#{veiculo.modelo}" onchange="this.form.submit()">
   <f:selectItems value="#{veiculo.modelos}"/>
</h:selectOneMenu>
...
public void setMarca(String marca) {
   this.marca = marca;
}

public SelectItem[] getModelos() {
    return fachada.getModelos(this.marca);
}
...

O problema é que não há garantia na execução dos métodos. As vezes executa o getModelos antes do setMarca. Tem uma maneira de garantir que primeirio irá executar setMarca para depois dar um getModelos?

Ou tem alguma outra maneira de implementar esta funcionalidade?

Criado 17 de janeiro de 2008
Respostas 0
Participantes 1