【问题标题】:boolean properties starting with "is" does not work以“is”开头的布尔属性不起作用
【发布时间】:2013-01-02 05:45:40
【问题描述】:

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

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

吸气剂是:isMatriz()。应该是getMatriz()?

【问题讨论】:

  • 布尔值与 is-getter 作品。
  • @NazarAnnagurban:错了。案件很重要。

标签: jsf-2 boolean javabeans el getter


【解决方案1】:

is 前缀仅适用于 boolean,不适用于 Boolean。

您显然实际上有一个Boolean 属性。

您有 2 个选项来修复它:

  1. 用get 前缀重命名getter。
  2. 将Boolean 替换为boolean。请注意,它将默认为 false 而不是 null。

另见:


与具体问题无关,类路径对于 EL 实现来说似乎是一团糟。消息 Missing Resource in EL implementation: ???propertyNotReadable??? 表示 EL impl 无法在自己的 JAR 中找到相关的错误消息,应该如下所示

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

确保您没有在/WEB-INF/lib 中任意下载EL JAR 文件。摆脱他们。 servletcontainer 已经提供了自己的。

【讨论】:

  • 我用布尔原语进行了测试:D
猜你喜欢
  • 2011-11-29
  • 2021-12-30
  • 1970-01-01
  • 2013-08-26
  • 1970-01-01
  • 2016-12-07
  • 2019-12-04
  • 2019-05-30
  • 2015-11-26
相关资源
最近更新 更多