ActionListener

Forum sobre a ferramenta Oracle JDeveloper, ADF, OAF, etc. (Não é destinado ao aprendeziado da Linguagem Java em geral)
Responder
Mick
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 69
Registrado em: Sex, 08 Fev 2008 11:20 am
Localização: São Paulo - SP

Oi pessoal!!...

Gostaria de saber se tem como eu colocar mais de uma ação na propriedade ActionListener de um af:CommandButton....

Ou então,se tem como .. assim que eu clicar em no botão, ele chamar automaticamente um outro botão...

Agradeço qualquer ajuda!!...
Vlw..
victorhugomuniz
Moderador
Moderador
Mensagens: 1396
Registrado em: Sex, 01 Fev 2008 2:06 pm
Localização: Rio de Janeiro - RJ
Contato:
:D

1- você pode fazer com que o metodo que é disparado no seu actionlistener dispare mais de uma ação/método
no jsp

Selecionar tudo

<af:commandButton text="Teste" actionListener=" {testeBean.actionTeste}"/>
codigo do bean

Selecionar tudo

import javax.faces.event.ActionEvent;

public class TesteBean {
    public TesteBean() {
    }

    public void actionTeste(ActionEvent actionEvent) {
        acao1();
        acao2();
        acaoN();
    }
}
2- o actionlistener faz uma ação e o action faz outra, no caso do action o método implementado de retornar um String e que no caso pode ser nula

Selecionar tudo

<af:commandButton text="Teste" action="#{testeBean.action2}"
actionListener="#{testeBean.actionTeste}"/>
codigo do bean

Selecionar tudo

import javax.faces.event.ActionEvent;

public class TesteBean {
    public TesteBean() {
    }

    public void actionTeste(ActionEvent actionEvent) {
        //...
    }

    public String action2() {
        //...
        return null;
    }
}
neste ultimo caso o método do actionListener será executado por primeiro

respondendo...
tem como se você fizer um binding para o seu outro botão e dentro do metodo actionlistener você der um bindingOutroBotao.execute(), ou simplesmente usar de recursividade chamando um método dentro do outro.
Mick
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 69
Registrado em: Sex, 08 Fev 2008 11:20 am
Localização: São Paulo - SP

Oi Victor...

valeu pela ajuda...

Já consegui resolver o meu problema... na verdade o meu problema era porque eu tava criando um 'bean'.. mas ele não tava atrelado à minha página '.jsp', então ele não tinha todas as ligações que eu precisava.. por isso que quando eu sempre tentava fazer isso que você falou pra mim fazer ..de colocar as ações dentro do bean eu não conseguia...
Eu não tava criando um 'backing bean' corretamente.... daí eu achei esse site aqui:

http://radio.weblogs.com/0133576/2005/06/24.html

Que me foi muito útil... e eu espero que seja útil também pra qm está começando agora como eu !!!... valeu..
victorhugomuniz
Moderador
Moderador
Mensagens: 1396
Registrado em: Sex, 01 Fev 2008 2:06 pm
Localização: Rio de Janeiro - RJ
Contato:
:D

no seu ViewController.jpr de um click com o botão direito va em 'New'
dai na janela q aparece tera:
- Web Tier
- JSF
- JSF JSP

no wizard de criação desse item você terá a opção de criar junto do JSP um backing bean já associado ao seu novo JSP

outra maneira de criar isso...
você pode ter um backing associado a mais de um jsp, ou melhor dizendo, você pode utilizar metodos de um unico bean em diversos jsps
no seu faces-config, va na view 'overview', no primeiro item 'Managed Bean', e ali dar um new dai e so dar um nome para o package e para a classe e para acessar no seu jsp e via expression lenguage ( #{aliaBean.metodo} )

qualquer coisa estamos ai
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 11 visitantes