【发布时间】:2013-04-11 08:56:06
【问题描述】:
在 EL 中格式化以下条件的最佳方法是什么?
#{bean.booleanValue and (bean.stringValue ne 'MYCLOSED' or bean.stringValue ne 'ALLCLOSED')}"
括号似乎不被识别为有效的表达式,但要求语句在逻辑上呈现如下:
bean.booleanValue && (bean.stringValue != 'MYCLOSED' || bean.stringValue != 'ALLCLOSED')
【问题讨论】:
-
我不确定我是否理解具体问题。第一个表达式到底有什么问题?您收到 EL 语法错误了吗?或者是第二个表达式的问题(我可以事先告诉它,这确实会导致 Facelets 中的 XML 语法错误(注意:XML 语法错误,而不是 EL 语法错误))。请不要忽略问题中的确切错误/异常消息。
-
问题出在第一条语句上。第二个语句只是为了说明如果我在后端执行此操作要达到的目标。第一个语句用于 selectOneMenu 渲染中的项目。我没有收到错误消息,但实际上它会导致菜单中的所有项目消失(根据我的经验,当表达式出现问题时会发生这种情况)。