Saltar al contenido

javax.el.PropertyNotFoundException: propiedad ‘foo’ no encontrada en el tipo com.example.Bean

Este equipo especializado pasados algunos días de trabajo y recopilación de de datos, obtuvimos los datos necesarios, esperamos que te sea útil en tu plan.

Solución:

javax.el.PropertyNotFoundException: propiedad ‘foo’ no encontrada en el tipo com.example.Bean

Esto literalmente significa que la clase mencionada com.example.Bean no tiene público (nostatic!) método getter para la propiedad mencionada foo. ¡Tenga en cuenta que el campo en sí es irrelevante aquí!

El nombre del método getter público debe comenzar con get, seguido del nombre de la propiedad que se escribe en mayúscula solo en la primera letra del nombre de la propiedad como en Foo.

public Foo getFoo() 
    return foo;

Por lo tanto, debe asegurarse de que haya un método getter que coincida exactamente con el nombre de la propiedad y que el método sea public (nostatic) y que el método no toma ningún argumento y que devuelve no-void. Si tiene uno y aún no funciona, es probable que haya estado ocupado editando el código de un lado a otro sin limpiar firmemente la compilación, reconstruir el código y volver a implementar/reiniciar la aplicación. Debes asegurarte de haberlo hecho.

Para boolean (no Boolean!) propiedades, el nombre del método getter debe comenzar con is en vez de get.

public boolean isFoo() 
    return foo;

Independientemente del tipo, la presencia del foo el campo en sí es así no pertinente. Puede tener un nombre diferente, o estar completamente ausente, o incluso ser static. Todo lo siguiente aún debe ser accesible por $bean.foo.

public Foo getFoo() 
    return bar;

public Foo getFoo() 
    return new Foo("foo");

public Foo getFoo() 
    return FOO_CONSTANT;

Verá, el campo no es lo que cuenta, sino el propio método getter. Tenga en cuenta que el nombre de la propiedad en sí no debe escribirse con mayúscula en EL. En otras palabras, $bean.Foo nunca funcionará, debería ser $bean.foo.

Ver también:

  • javax.el.PropertyNotFoundException: la propiedad ‘foo’ no se puede leer en el tipo java.lang.Boolean
  • ¿Cómo resuelve el lenguaje de expresión Java booleano? attributes? (en JSF 1.2)
  • Identificar y resolver javax.el.PropertyNotFoundException: objetivo inalcanzable
  • El código de Facelets superado aún invoca expresiones EL como #bean.action() y provoca javax.el.PropertyNotFoundException en #bean.action

Creo que los accesores de identificación no coinciden con las convenciones de nomenclatura de beans y es por eso que se lanza la excepción. Deben ser los siguientes:

public Integer getId()  return id;     
public void setId(Integer i) id= i; 

Compruebe los artículos en forEach

     

        $pool.name

    

Algunas veces items=”$pools” tiene un espacio adicional o actúa como string, volver a escribirlo debería resolver el problema.

Al final de la artículo puedes encontrar las crónicas de otros creadores, tú igualmente eres capaz insertar el tuyo si te apetece.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *