Duas actions em um mesmo botão JSF

5 respostas
R

Pessoal, tenho uma solução genérica aqui e gostaria de após o
processamento de uma actionX, que uma actionY fosse invocada. Pensei
em criar uma action e um actionListener para o botão, mas nao sei se
funciona, ja testaram? Preciso de invocação sequencial… Como a
solução é dinamica, nao posso fazer um método X do meu bean invocar um
método Y, a não ser que use reflexão.

A solução mais simples seria criar dinamicamente duas actions para um
mesmo botão, isso é possível? Se sim, alguém tem o código de criação
de um actionListener?

abs

Rafaell Pinheiro

5 Respostas

G

Você pode utilizar richfaces? Se sim, dê uma olhada no a4j:ajaxListener

http://www.jboss.org/file-access/default/members/jbossrichfaces/freezone/docs/devguide/en/html/a4j_ajaxListener.html

R

Para esta ação específica nao posso utilizar nada de ajax. A funcionalidade se refere a geração de um relatório, exibido na tela do browser, e conforme discussoes levantadas aqui no forum, isto só é possível se componentes não ajax forem utilizados…

abs

Rafaell

C

Segue a minha ideia.
Já tive que usar desse tipo de truque bem mais de uma vez, mas não sei se ele vai ser útil pra vc… estude o seu caso, e veja se a ideia é aplicável

<jsf:botao id="b1" action="action1" display="false"/>
<jsf:botao id="b2" action="action2" display="false"/>
...
...
<jsf:botao id="botao" value="Clique aqui" onclick="acao1(); acao2();" display="true"/>
< script >
function acao1() {
  document.getElementById("b1").click();
}

function acao2() {
  document.getElementById("b2").click();
}
< /script >

edit: se vc pudesse usar o A4J, eu recomendaria usar a propriedade oncomplete dele. Infinitas vezes melhor que essa gambiarra acima.

R

Legal a dica, em alguns casos eu faco o uso dela, mas repare que tenho que ter a funcao javascript criada na pagina e nao é o caso. Tenho tudo feito dinamicamente via codigo, ou seja… crio um HtmlCommandButton e vou setando as propriedades. Dai fica inviavel ter algo engessado na pagina xhtml ou jsp.

abs

rafaell

R

Enfim resolvido,

quem precisar de algo parecido conferir no link:

http://www.icefaces.org/JForum/posts/list/7906.page

att

Rafaell

Criado 8 de julho de 2009
Ultima resposta 9 de jul. de 2009
Respostas 5
Participantes 3