JSF - Problema em setar action e criar objeto session

Bom dia!

estou com um pequeno probleminha em setar o valor de uma action de um botão criado dinamicamente com nome “b”.

                                        //essa é uma parte do código de um método 
                                       //chamado de "escreve", colocado num .java 
                                      //chamado de "untitled3"

            MethodBinding mb; //aqui eu crio o methodBinding que usarei no                               
                                       //botão
            mb =  
  (MethodBinding)context.getApplication().createMethodBinding("#{backing_untitled3.retorna3}", 
                                                             null);
            b.setAction(mb);   //setando o método para o botao
            panelGroup2.getChildren().add(b);            
            ValueBinding vbUser = context.getApplication().createValueBinding(
                                       "#{beanDeSessao}");
            codigoSession codigo = (codigoSession)vbUser.getValue(context);  
                                            //isso aqui cria um objeto do tipo 
                                            //codigoSession. É um .java de sessão que 
                                            //foi implementado.

Bem, o problema está em dois passos do código.
o primeiro é que o “value” da action do botão “b”, de acordo com meu debug, é igual a “”. ou seja, não é de valor null, mas tb não tem nada lá.
o segundo é que quando tenta-se criar o objeto do tipo session, na ultima parte do codigo, acontece um erro chamado de :

javax.faces.FacesException: #{backing_untitled3.escreve}: javax.faces.el.EvaluationException: javax.faces.el.EvaluationException: javax.faces.FacesException: javax.faces.FacesException: Can’t instantiate class: ‘avaliativo1.backing.codigoSession’… class avaliativo1.backing.codigoSession : java.lang.NullPointerException

onde escreve é o método colocado acima, e codigoSession é o .java que serve de classe para o objeto session “codigo”.

Espero que possam ajudar-me.

[]'s

opa,

você declarou estes beans no faces config? Daí você tem que colocar apenas o nome do bean mapeado + ação.

:okok:

Opa!

Já consegui setar a action para o botão…
na verdade os beans jah estavam setados e tudo mais, eu que observei errado.

a única coisa que me encomoda é o erro java.land.NullPointerException

quando eu quero criar um objeto session “codigo” do tipo “codigoSession”, setando:

 ValueBinding vbUser =  Context.getApplication().createValueBinding("#{beanDeSessao.codigoSession}");

 codigo = (codigoSession)vbUser.getValue(FacesContext.getCurrentInstance());

o meu debugger acusa o erro na parte do getValue(FacesContext.getCurrentInstance())…

já procurei em um monte de lugares sobre isso e não encontrei nada.
o que encontrei foi mais gente com o mesmo problema.

Agradecido…

[]'s

Opa…

mais um acontecimento…

dei uma checada na documentação da sun e tinha lá que esse erro ocorre quando o contexto é nulo!

meu contexto está nulo?
como?

Espero dicas!

[]'s

Opa!

Meu superior resolveu o problema…

era um erro completamente típico de “noob”, heheeh

eu tinha, no método construtor da classe “codigoSession” setado algumas propriedades para alguns componentes. Na verdade, o compilador pedia que eles fossem nulos, e eu não deixava isso acontecer.
Aí esses setters para as propriedades foram apagadas e ploft!
fungou…

Agradecido…

[]'s

hehehe, que jóia… devemos tomar muito cuidado com isto, pois o fato de restaurar a árvore é algo não tão trivial e acaba gerando problemas como este.

:joia: