Passagem para parâmetros para actions do JSF
Muitas pessoas tem se deparado com esse problema durante o desenvolvimento de aplicações JSF, muitos usam artifícios um pouco complicados para resolver o problema, mas todos mal sabem que o MyFaces Tomahawk tem um actionListener para esse propósito faz muito tempo.
A idéia é simples, setar uma propriedade no bean antes de executar uma action (método no bean), para isso basta utilizar a tag t:updateActionListener como apresentado abaixo:
1 2 3 4 | <h:commandLink action="#{bean.metodo}"> <t:updateActionListener property="#{bean.propriedade}" value="#{objeto}" /> </h:commandLink> |
Quando a página for submetida, o JSF vai executar o updateActionListener que vai chamar o método setPropriedade, passando o objeto especificado no atributo value do updateActionListener, logo em seguida o método no bean será executado.