boolean properties starting with "is" does not work
Asked Answered
T

1

12

I have a project that use JSF 2.1 and PrimeFaces. I tried to use a simple <h:outputText> referencing #{myBean.matriz} and I got this error:

SEVERE: javax.el.PropertyNotFoundException: ... value="#{myBean.matriz}": Missing Resource in EL implementation: ???propertyNotReadable???

The getter is: isMatriz(). Should it be getMatriz()?

Thorn answered 18/1, 2013 at 13:43 Comment(2)
Boolean with is-getter works.Hooge
@NazarAnnagurban: wrong. The case matters.Biochemistry
B
29

The is prefix works only for boolean, not Boolean.

You've there apparently actually a Boolean property.

You've 2 options to fix it:

  1. Rename the getter with get prefix.
  2. Replace Boolean by boolean. Note that it will default to false instead of null.

See also:


Unrelated to the concrete problem, the classpath seems to be a mess as to EL implementation. The message Missing Resource in EL implementation: ???propertyNotReadable??? indicates that the EL impl wasn't able to find the associated error message in own JAR which should look like this

Property 'matriz' not found on type com.example.MyBean

Make sure that you don't have arbitrarily downloaded EL JAR files in /WEB-INF/lib. Get rid of them. The servletcontainer already provides its own.

Biochemistry answered 18/1, 2013 at 13:51 Comment(1)
I tested with boolean primitive :DHooge

© 2022 - 2024 — McMap. All rights reserved.