首先是“是”布尔属性不起作用(boolean properties starting with “i

2019-07-18 09:20发布

我有一个使用JSF 2.1和PrimeFaces的项目。 我试图用一个简单<h:outputText>引用#{myBean.matriz}和我得到这个错误:

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

获取方法为: isMatriz() 它应该是getMatriz()

Answer 1:

is前缀仅适用于boolean ,而不是Boolean

你去过那里显然是实际上是一个Boolean属性。

您已经2个选项来解决这个问题:

  1. 重命名与吸气get前缀。
  2. 更换Booleanboolean 。 请注意,它会默认为false ,而不是null

也可以看看:

  • JavaBeans规范 -章8.3.2
  • 如何Java表达式语言解决布尔属性? (在JSF 1.2)

无关的具体问题,类路径似乎是一个烂摊子,以EL实现。 该消息Missing Resource in EL implementation: ???propertyNotReadable??? 表明EL IMPL没能找到自己的JAR相关的错误信息,应该是这样的

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

请确保你没有随意下载中EL JAR文件/WEB-INF/lib 。 摆脱他们。 该servletcontainer已经提供了自己。



文章来源: boolean properties starting with “is” does not work