如何将一个EL表达式与另一个EL表达式的结果进行比较 [英] How to compare an EL expression against the result of another EL expression

查看:93
本文介绍了如何将一个EL表达式与另一个EL表达式的结果进行比较的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的Facelet中具有以下属性:

I have following attribute in my Facelet:

rendered="#{createTicketBaseBean.show == '#{I18N['key_please_select']}'}"

我正在尝试将属性文件中的值与属性进行比较,但出现以下错误:

I am trying to compare the value with property in my properties file, but I get following error:


错误解析:#{createTicketBaseBean.show =='#{I18N ['key_value_incident']}'' }`

Error Parsing: #{createTicketBaseBean.show == '#{I18N['key_value_incident']}'}`

但是当我将上述表达式替换为如下所示的硬编码值时:

But when I replace the above expression with a hard coded value like below:

rendered="#{createTicketBaseBean.show == 'incident'}"

然后工作正常。

推荐答案

这确实是无效的语法。您不能也不应嵌套EL表达式。您应该将#{} 视为一个整体范围,变量之间可以相互交互。

This is indeed invalid syntax. You can't and shouldn't nest EL expressions. You should see the #{} as one whole scope where variables can interact with each other.

给出您想要的比较

createTicketBaseBean.show == I18N['key_please_select']

这是正确的语法:

rendered="#{createTicketBaseBean.show == I18N['key_please_select']}"

这篇关于如何将一个EL表达式与另一个EL表达式的结果进行比较的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆