0

我正在尝试设置 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'}"

哪个工作正常。

第一件事有可能吗?

4

2 回答 2

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这种方式重新发明内置工具。

于 2013-05-24T12:06:19.983 回答
1

这个怎么样:

<p:dataTable emptyMessage="#{data.employeeHasNoAbsences ? ivy.cms.co('/Labels/Test') : ivy.cms.co('/Labels/Test2')}"
于 2013-05-24T12:12:36.553 回答