martes, noviembre 13, 2012

Objetivo inalcanzable, 'objeto' devolvió nulo: javax.el.PropertyNotFoundException

Saludos.

Este error es algo común en aplicaciones JSF.

La verdad es que a veces por cosas de la vida no caemos en cuenta o se nos pasa por alto ciertas cosas que ya hemos hecho varias veces.

Las recomendaciones que les puedo dejar son las siguientes:

1. Verificar que el bean al que estamos llamando en la pagina jsf (.xhtml) sea serializable. (public class Clase implements serializable).

2. Que el objeto al que estemos llamando tenga getters y setters. Ej.

value="#{indexPage.person.nombre}"

El objeto person debe tener getter y setter en el bean. Y el objeto nombre debe tener getter y setter en la clase Person.

3. Si estamos usando un objeto en el bean como person. Debemos verificar que este este inicializado, en el constructor. A veces no nos damos cuenta por que carga la pagina pero no se puede guardar o hacer alguna operacion crud. Ej.

public class Clase implements serializable
{

   ///Esta linea depende de su necesidad
   private static final long serialVersionUID = 1L;
 
   private Person person;

   public Clase (){
          person=new Person();
   }

    public Person getPerson()
   {
          return this.person;
    }
    public void setPerson(Person person)
   {
          this.person= person;
   }
}

Espero que sea de su ayuda y si alguien tiene algún caso atípico de este error pues seria de mucha ayuda comentando.


Hasta la próxima.


www.corvustec.com

9 comentarios:

Anónimo dijo...

Gracias por la ayuda, fue muy claro

Anónimo dijo...

Genial, fue de gran ayuda, gracias

Unknown dijo...

Aplique todas tus recomendaciones, pero me sale este error

javax.el.PropertyNotFoundException

Agradezco toda tu Ayuda...¡¡

Unknown dijo...

Talvez si pones tu codigo te podria ayudar

Unknown dijo...

Amigos Tengo el mismo problema, aplique todo lo que comentan y sigo igual, si pueden ayudarme

Unknown dijo...

@ManagedBean
@Named(value = "newNotaVentasBean")
//@ViewScoped
@RequestScoped
public class NewNotaVentasBean implements Serializable{

private NotaVentasEntity ventas;
private List listaNotaVta;

//------------------------------------------------------------------


public NewNotaVentasBean(){

this.ventas = new NotaVentasEntity();

}

//----------------------------------------------------------------------

public NotaVentasEntity getventas() {
return ventas;
}

public void setventas(NotaVentasEntity ventas) {
this.ventas = ventas;
}

public List getlistaNotaVta() {
return listaNotaVta;
}

public void setlistaNotaVta(List listaNotaVta) {
this.listaNotaVta = listaNotaVta;
}

public Boolean register()throws Exception{
notaVentasDao DaoVtas = new notaVentasDao();
DaoVtas.creaNotaVenta(this.ventas);
return true;
}




Este es el código del Bean

Anónimo dijo...

Buena explicación, es importante tener en cuenta que los ManagedBean deben de implementar la interface Serializable. Error muy común.
Recomiendo este curso de JSF con PrimeFaces www.grupocodesi.com/cursos/curso-de-jsf-primefaces.html

Luegmy dijo...

Gracias excelente, con lo implementar el serializable de dicho clase bean

Unknown dijo...

tengo este problema y tengo todo lo que dice. Puede alguna configuracion del PC o de las herramientas del proyecto, que pueda dar este error.
Un saludo.