Quando o JSF acessa o método "set" da propriedade?

7 respostas
R

Olá pessoal, vejam o trecho:

<h:selectOneMenu value="#{monitor.tipo_de_grafico}" immediate="true" id="tipo_de_grafico"> <f:selectItem id="Todos" itemValue="Todos" itemLabel="Todas amostras" /> <f:selectItem id="Coletores" itemValue="Coletores" itemLabel="Apenas Coletores" /> <f:selectItem id="Applet" itemValue="Applet" itemLabel= "Apenas Applet" /> <f:ajax event="change" execute="@this" /> </h:selectOneMenu>

O problema é que quando eu seleciono uma nova opção este valor não vai para o bean! Pq? Quando eu trocasse um valor, ele não deveria reconfigurar as variaveis do bean?

7 Respostas

victormenegusso

mostre o codigo do seu bean

R

Tem apenas os getters e setters!
Existe lá o “tipo_de_grafico” com seus devidos getters e setters(gerado pelo netbeans). O problema é que eu quero que essa variavel seja alterada quando eu escolho uma opção desta lista, o que não está acontecendo!

<h:commandButton value="Gerar novo gráfico" > <f:ajax event="click" execute="@this" render="grafico"/> </h:commandButton>

Este é o botão que deveria gerar o gráfico com as novas propriedades

Diabo_Loiro

Procure por valueChangeListener aqui vai um link sobre o assunto.

http://www.guj.com.br/posts/list/81893.java

victormenegusso

bom eu faço diferente, eu coloco no botao o nome da funcao que deve se executar

Diabo_Loiro

sim mais se ele quiser chamar um metodo no backing bean no evento de selecionar um item tem que usar o valueChangeListener

aeciovc

porém, até onde pude ver no JSF. o que o nosso amigo quer não acontece, tbm pensei que acontecia. o ValueChangeListener só é invocado no momento da submissão do Form. posso estar errado, mas foi o que a pouca prática por enquanto me mostrou.

e o que ele quer é que ao mudar o select do HTML o método do Listener já seja chamado, coisa que no Swing ele faz.

Diabo_Loiro

ai vai um exemplo tem que por o onchange…

<h:selectOneMenu id="meuid" value="#{backingbean.getSelectItems}" onchange="submit();" valueChangeListener="#{backingbean.executaMetodo}" >
	<f:selectItems	value="#{backingbean.getSelectItems}" />
	</h:selectOneMenu>
Criado 26 de agosto de 2010
Ultima resposta 26 de ago. de 2010
Respostas 7
Participantes 4