我正在尝试设置dataTable的emptyMessage-Attribute,而我想访问支持bean的值 - 类似的东西(当然没有正确评估):
<p:dataTable emptyMessage="#{data.employeeHasNoAbsences ? '#{ivy.cms.co('/Labels/Test')}' : #{ivy.cms.co('/Labels/Test2')}}"
如果不访问辅助bean,它将是:
<p:dataTable emptyMessage="#{data.employeeHasNoAbsences ? 'No' : 'Yes'}"
哪种方法正常。
首先有可能吗?
答案 0 :(得分:1)
嵌套EL表达式是非法语法。您应该将#{}
视为变量/字符串可以相互交互的一个大空间。
您最终希望进行此评估:
data.employeeHasNoAbsences ? ivy.cms.co('/Labels/Test') : ivy.cms.co('/Labels/Test2')
现在,只需将完全评估放在#{}
:
<p:dataTable emptyMessage="#{data.employeeHasNoAbsences ? ivy.cms.co('/Labels/Test') : ivy.cms.co('/Labels/Test2')}">
无关,我希望您不要以这种方式重新构建内置ResourceBundle
工具。
答案 1 :(得分:1)
这个怎么样:
<p:dataTable emptyMessage="#{data.employeeHasNoAbsences ? ivy.cms.co('/Labels/Test') : ivy.cms.co('/Labels/Test2')}"