Pessoal, preciso muito dessa ajuda.
Estou desenvolvendo uma página utilizando JSF + IceFaces.
Mas vejam só o seguinte
tenho 1 página que possui o seguinte código:
<ice:commandButton value="Teste1" actionListener="#{Teste.funcaoTeste1}" />
<ice:outputText value="#{Teste.teste1}" />
<br/>
<ice:commandButton value="Teste2" actionListener="#{Teste.funcaoTeste2}" />
<ice:outputText value="#{Teste.teste2}" />
<br/>
E Teste, sendo a minha Bean, possui os seguintes métodos:
[code]private String teste1 = “Valor 1 intacto.”;
private String teste2 = “Valor 2 intacto.”;
…
public void funcaoTeste1(ActionEvent e) {
double i = 0;
while(i < 1000000000) {
i = i+0.7;
}
setTeste1(“O wait terminou com sucesso!”);
}
public void funcaoTeste2(ActionEvent e) {
setTeste2("Já mudou a variável");
}
[/code]
Qual o ás do ás com essa loucura bem simples aí.
A função 1 faz um “wait”, enquanto a função 2 é executada instantaneamente.
Então, se eu estou na minha página lá, e clico no botão 2, INSTANTANEAMENTE o texto ao lado dele que antes era “Valor 2 intacto.” se torna “Já mudou a variável”.
Todavia, se quando a página abre, eu clico no botão 1, demora um tempo até que a frase “Valor 1 intacto.” se torne “O wait terminou com sucesso!”.
O que eu estou procurando (e não possuo atualmente) é o seguinte:
Quero clicar no botão 1, e logo em seguida clicar no botão 2. (NESSA ORDEM)
Instantaneamente quero que a frase ao lado do botão 2 mude, e quando a função 1 terminar, mude a frase do botão 1.
Mas o que está acontecendo atualmente:
A função 2 está esperando que a função 1 complete, para que ambas possam ser enviadas para o site ao mesmo tempo, fazendo com que eu precise esperar que a função 1 acabe para eu obter algo (o resultado da função 2) que é instantâneo.
Se vier ao caso, meu web.xml já possui a seguinte alteração:
<context-param>
<param-name>com.icesoft.faces.concurrentDOMViews</param-name>
<param-value>true</param-value>
</context-param>
E então, o que fazer para obter uma “real aplicação” web?
Agradeço a todos que puderem opinar!!!