我正在使用JDeveloper 11.1.1.7.0
在支持bean中,我有一个名为 myList 的List属性,带有相关的公共和标准getter和setter方法,我需要检查一个String是否包含在其中,在上下文中一个EL表达。
我试过这个表达式:
disabled="#{myBean.myList.contains(label)}"
但是它失败了,消息就是那个字符(找到而不是[,。,或者,eq,...
我已经尝试按照这个明确且解释清楚的步骤How to create a custom EL function?生成我的自定义顶级域名,但由于找不到我声明的功能,我收到了错误。
如何在EL表达式中检查此条件(List中包含的字符串)? 提前致谢。此致
答案 0 :(得分:1)
你试过这个:
disabled="#{empty myBean.myList[label]}"
答案 1 :(得分:0)
如果你的支持bean中确实有一个List
类型的属性,那么这应该有效。
您也可以通过以下方式使用它:
disabled="#{myBean.myList.contains('the text')}"
disabled="#{not myBean.myList.contains(label)}" // contains not
disabled="#{myBean.myList.contains(label) eq true}"
disabled="#{!myBean.myList.contains(label)}" // contains not
如果这不起作用,列表可能出现问题。
另见:
答案 2 :(得分:0)
EL表达式在调用函数时不能传递参数,但我发现这个链接解释了使用Map模拟传递参数的想法。它对我来说很完美: Pass parameters from EL to a method: Simulation