JSF - ciclo ActionListener

4 respostas
M

Olá gujeiros!!

Estou com uma dúvida no cilco do JSF quando utilizo ActionListener:

<h:commandButton type="submit" value="Teste" actionListener="#{testeManagedBean.salvarActionListener}">
                <f:setPropertyActionListener value="true" target="#{testeManagedBean.mostra}" />
                <f:setPropertyActionListener value="Marcos" target="#{testeManagedBean.nome}" />
            </h:commandButton>

Nesse código acima ele executa da seguinte maneira:

  1. Executa o método salvarActionListener.
  2. Depois define os valores no meu managedBean, no caso “testeManagedBean”.

Porém se eu trocar o actionListener para Action, como no código abaixo:

<h:commandButton type="submit" value="Teste" action="#{testeManagedBean.salvarAction}">
                <f:setPropertyActionListener value="true" target="#{testeManagedBean.mostra}" />
                <f:setPropertyActionListener value="Marcos" target="#{testeManagedBean.nome}" />
            </h:commandButton>

Ele executa da seguinte maneira:

  1. Define os valores no meu managedBean, no caso “testeManagedBean”.
  2. Depois executa o método salvarAction.

Está correto isso? Ele não deveria sempre definir os valores primeiro?

Obrigado galera!

4 Respostas

M

Alguém pode responder minha dúvida?

Obrigado!

nei.junior

E ai Markinho !

Cara, vc conseguiu tirar essa dúvida ? estou com a mesma dúvida.
Se sim, poste ai por favor !

Obrigado !

M

Cara não consegui não … toh com duvida ainda!!!

SE por acaso alguem conseguir posta aki

Abraços …

A

Galera, também estou com esse “problema”. Preciso atribuir valores antes de executar um método ActionListener. Não posso usar apenas “Action”, pois senão é feito um “refresh” da página atual e me fecha um pop-up importante.

Já entendi que é normal o ActionListener de um botão ser executado antes do f:setPropertyActionListener. Mas será que alguém tem uma solução, uma dica, para quem precisa definir valores antes de executar um ActionListener?

Segue meu código:

<h:commandLink actionListener="#{carrinhoController.addItem}" value="Adicionar item"> <f:setPropertyActionListener value="#{item}" target="#{intervencaoController.novoItem}" /> </h:commandLink>

Lembrando que não posso usar apenas “action”, pois senão faz refresh da página e fecha um pop-up com a pesquisa do usuário.

Abraços!

Criado 28 de agosto de 2009
Ultima resposta 11 de jan. de 2012
Respostas 4
Participantes 3