【发布时间】:2013-03-20 10:12:32
【问题描述】:
我有一个 JSF 页面,我根据托管 bean 属性控制渲染器属性。
<p:commandLink action="#{smartphoneBean.drillDown(smartphone.ldapuser,smartphone.productGrp)}"
rendered="#{!(smartphone.ldapuser.charAt(0) ge '0' and smartphone.ldapuser.charAt(0) le '9')}" value="#{smartphone.ldapuser}">
一旦我运行我的代码。这个值以任意数字开头的 commandLink 仍然会被渲染。
我希望比较 char 值的整数表示。
你对这个问题有任何想法吗?
【问题讨论】:
-
您想将
charAt(0)与ge / le进行比较?首先将charAt(0)转换为数字并删除这些数字周围的''... -
您可以在 Bean 类中创建一个
Boolean变量。在 bean 类中进行此比较并将布尔变量设置为true或false。在渲染中使用该变量。 -
@Daniel 据我所知。 char 数据类型在 JVM 中表示为整数。这就是我比较 char 值的原因。我希望比较 unicode 十进制值。
-
@SatheshS 我在dataTable中使用了这个commandLink,所以它会被迭代传播。
标签: java jsf char el logical-operators