JSF: SelectOneMenu x SelectItem

4 respostas
C

Pessoal, acho que é uma pergunta de iniciante, mas lá vai: dentro de um <t:selectOneMenu> como fazer para tornar um selectItem já “selecionado” ao carregar a página? :oops:

Já estou montando na minha classe a lista de SelectItems, e carregando no “comboBox”…

4 Respostas

javaBeats

A sua tag t:selectOne tem uma propriedade value, certo? Esta propriedade vai conter o valor do item selecionado. Basta que você, antes de renderizar a página, atribua um valor à esta propriedade. Exemplo:

// Na página
&lt;t:selectOneMenu value="MyBean.valorSelecionado"&gt;

// Na classe "MyBean"
private Object valorSelecionado = 12345L;
public Object getValorSelecionado() {
  return valorSelecionado; // retorne a propriedade da classe, inicializada
}

O valor da propriedade “valorSelecionado” corresponde ao valor do SelectItem.

Rodrigo

C

Ok, entendi. O problema é que não sei quantos selectOneMenu existem na minha página, pois cada selectOneMenu é gerado numa linha de um dataTable! tem como setar o valor de cada selectOneMenu em uma posição de uma lista? o EL do JSF permite isso?

javaBeats

Não… se entendi bem o que você quer fazer, creio não ser possível (via EL).

Mas talvez seja possível, se vc usar um backing bean especializado que mantenha binding, tando para o seu componente UIData, como para os seus componentes UISelect. E então, estude a API JSF e veja se é possível brincar com esses valores durante as requisições.

Não manjo o suficiente de JSF pra te dizer de antemão se é possível ou não fazer o que pede, mas a API é bem versátil e te dá razoável nível de controle sobre o que está sendo executado no FacesContext. Estude ela com cuidado que certamente vai encontrar o que precisa.

Rodrigo

C

ok, Rodrigo, vlw pela ajuda. Acho que por enquanto vou mudar a interface da aplicação… mas ainda vou atrás dessa solução e prometo postá-la aki!

Criado 25 de julho de 2006
Ultima resposta 25 de jul. de 2006
Respostas 4
Participantes 2