尽管primefaces p:cellEditor 中的表达式相同,但h:outputText 中的JSF2 ValueExpression 不会评估为真

问题描述

我在 2 个标签中定义了一个值表达式。 虽然两者都被定义为期待 javax.el.ValueExpression,

<p:cellEditor rendered="#{!row.labelMode.toString().isEmpty()}">

工作正常,同时

<h:outputText value="#{msgs.pg_fieldMsg}"
              rendered="#{!row.labelMode.toString().isEmpty()}"/>

总是呈现,显然会忽略呈现的属性错误地或不同地评估它。

LabelMode 是一个枚举 (kotlin)。 当我用 name() 替换 toString() 时也是如此。 此行为独立于服务器(Jetty ot Tomcat)

有什么想法吗?

解决方法

根据 h:outputText to conditionally render groups of JSF elements no longer working in JSF 2? outputText 是“工作的错误工具™”。

尽管如此,outputText 的 javadoc 仍然将渲染方法命名为可操作的 :-/

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...