单个条件结果的多个表达式

时间:2014-10-17 04:58:43

标签: jsf-2 el

我必须根据我的支持bean中的变量状态更改primefaces对话框的标题字符串。条件如下(伪代码):

#{backingBean.editing ? resourceBundle.edit_string resourceBundle.item.id : msg.add_string}

和简短的代码段示例:

<p:dialog id="dokDialog" header="#{backingBean.editing ? resourceBundle.edit_string resourceBundle.item.id : msg.add_string}" ...>
   <!-- content -->
</p:dialog>         

在此示例中,我想根据#{msg.edit_string} #{resourceBundle.item.id}的布尔值显示值#{msg.add_string}#{backingBean.editing}

我想要做的是在标题中显示Editing Item 01New Item

此外,我得到以下例外,因为我有一个结果的两个表达式( resourceBundle.edit_string resourceBundle.item.id ):

Caused by: org.apache.el.parser.ParseException: Encountered " <IDENTIFIER>

谢谢!

1 个答案:

答案 0 :(得分:1)

resourceBundle.edit_string resourceBundle.item.id - 这是一个错误的表达方式。你需要连接

如果您使用的是适当版本的EL,String.concat可能有所帮助:resourceBundle.edit_string.concat(' ').concat(resourceBundle.item.id)