【问题标题】:How to compare an EL expression against the result of another EL expression如何将一个 EL 表达式与另一个 EL 表达式的结果进行比较
【发布时间】:2013-04-20 15:17:07
【问题描述】:

我的 Facelet 中有以下属性:

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

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

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

但是当我用下面的硬编码值替换上面的表达式时:

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

然后它工作正常。如何正确比较另一个 EL 表达式?

【问题讨论】:

  • "#{createTicketBaseBean.show == I18N['key_please_select']}"?
  • 谢谢哥们,它成功了..!

标签: jsf-2 el


【解决方案1】:

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

根据您想要的比较

createTicketBaseBean.show == I18N['key_please_select']

这是正确的语法:

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

【讨论】:

  • 感谢 BalusC 的解释,您给出的答案数量非常值得称赞。让像我们这样的人的生活变得轻松一些,继续努力:-)
猜你喜欢
  • 2013-03-13
  • 1970-01-01
  • 2021-02-10
  • 2020-07-29
  • 1970-01-01
  • 1970-01-01
  • 2012-05-19
  • 2020-06-11
相关资源
最近更新 更多