ADF EL:检查项目是否包含在列表中

时间:2014-02-05 14:44:12

标签: jsf jsf-2 expression el oracle-adf

我正在使用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中包含的字符串)? 提前致谢。此致

3 个答案:

答案 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