Interromper Metodo no ActionListener [JSF]

4 respostas
colored

Bom eu tenho um botão com um metodo que salva um objeto no actionListener e um outro metodo que renderiza os dados da pagina e direciona pra pagina certa…
Só que eu preciso interromper o metodo no actionListener e ele não poderia executar a action… é possivel fazer isso???

<p:commandButton id="btnSalvar" value="Salvar" actionListener="#{metaBean.saveOrUpdateMeta}" ajax="false"
					style="margin-right:10px; margin-top:10px; font-size: 0.8em;" image="ui-icon-disk" action="#{projetoBean.visualizarProjeto}" />

Aqui está o botão… eu teria que fazer uma validação no metodo saveOrUpdate mas caso eu interrompa ele, vai executar o metodo visualizarProjeto… e não poderia…

Alguem pode me Ajudar??? Muito Obrigado ;D

4 Respostas

carlos_hen

Que tal tirar o “action” do botão.

Agora se vc precisa em determinada condição direcionar para uma página ou outra, você deve fazer isso no método do actionListener.

Para redirecionar/renderizar no método do actionListener para uma página mapeada no faces.config, você pode usar o getNavigationHandler().

flws.

colored

É que tipo assim, akele metodo da actionListener so salva o objeto, esse metodo do Bean de Projeto ele reoganiza a tela… pro usuario… já que eu preciso fazer Reload do objeto pra trazer algumas listar entendeu?
entao eu preciso dessa ordem… mas precisaria travar o metodo no actionListener neste caso por exemplo… e nao deixar ele retornar pra tela de Projetos.

carlos_hen

Tudo bem kara…

Você pode ter sua lógica separada.

Mas vc deve escolher se quer usar Action ou ActionListener.

Posso estar errado, mas nunca vi o uso dos dois no mesmo botão.

flws.

leonardobhbr

Não sei se funciona e como carlos_hen falou voce deve usar ActionListener ou action
o que voce pode tentar fazer é o seguinte

no seu actionListener

RequestContext.getCurrentInstance().addCallbackParam("hasOk", true);

true se deu certo false se der errado

e no seu action

if(((Boolean)RequestContext.getCurrentInstance().getCallbackParams().get("hasOk")))

é P.O.G e não sei se funciona

Criado 29 de julho de 2011
Ultima resposta 29 de jul. de 2011
Respostas 4
Participantes 3