[Resolvido]JSF: f:setPropertyActionListener x @postconstruct

4 respostas
SilverFangs

Bom dia a todos os javaneiros desse forum.

é o seguinte estou com um problema referente as fases do JSF.

usando o setPropertyActionListener para migrar um dado de um bean para outro encontrei um problema ao tentar acessar esse dado num metodo postconstruct da bean que está recebendo esse valor.

o problema é mais ou menos esse:

<h:form>
     <ajax:commandLink value="Enviar" action="#{bean1Controller.enviar}">
	    <f:setPropertyActionListener value="#{objeto}" target="#{bean2.objeto}" />
     </ajax:commandLink>
<:form>

a minha bean1 está assim

@scope("request")   
    @controller(bean1)
    @keepAlive(ajaxSubmit = true)
    public void Bean1{
        private Objeto objeto;

        Bean1(){
             objeto = new Objeto();
       }
       

       public String enviar(){
             return "telaDoBean2";
       }

       //gets and sets...
       
}

a minha bean2 está assim

@controller("bean2")
@scope("request");
@keepAlive(ajaxSubmit = true);
public Bean2{
    private Objeto objeto;

   public Bean2(){

   }

   @postConstruct
   public void executaAlgoComObjeto(){
       System.out.println(objeto.toString());    
   }

    //get and set.
}

acontece que quando eu chamo o metodo no postconstruct ele ainda ta null, mas se eu chamar ele no get and set ele retorna o valor do toString().será existe algum componente que eu poderia trabalhar no postconstruct? ou será que tem como driblar isso, usando o get eu faria a chamada varias vezes quando fosse renderizar uma unica vez aquele objeto. e como eu irei buscar alguns dados do banco ficaria inviavel.

Obrigado desde já qualquer resposta. :stuck_out_tongue:

4 Respostas

R

Olá.

Que taglib “ajax” eh essa?

SilverFangs

desculpa, a do a4j, preferi utiliza-la por questão de leitura de código.

SilverFangs

Alguem ? :oops:

SilverFangs

Pessoal Resolvi usando o JBOSS EL. assim chamo o metodo passando as assinaturas diretamente na tag do botão.

Criado 5 de janeiro de 2011
Ultima resposta 28 de jan. de 2011
Respostas 4
Participantes 2