我想使用 EL 在 jsp 中调用一个传递给它的参数的 bean 函数。
问题是它不允许这样的事情:
“${teacherBean.certificationFor(${particularField})
”
问题是我想遍历一个数组并为数组中作为参数传递的所有值调用函数 certificationFor。 我通过以下方式获取数组中的值:
所以基本上我想做类似的事情: ${teacherBean.certificationFor(${particularField}) 但我不能那样做。 我可以用任何其他方式做到这一点吗?
我是 EL 的新手。 :) 感谢您的帮助。
最佳答案
你到底想在哪里做这件事,为了什么?只是为了获得展示值(value)?至少,在 Java EE 6 之前的标准 EL 中,您不能像那样传递方法参数。在 JBoss-EL或在 Java EE 6 EL你可以做到。语法将是:
${teacherBean.certificationFor(particularField)}
请注意,您不能嵌套 EL 表达式,一个 EL 表达式本身就是一个完整的表达式。
在标准 EL 实现中,您可以访问 Map
使用大括号表示法按键值。因此,例如,如果您有一个 Map<String, String> certifications
其中键对应 particularField
以及关联值的值:
private Map<String, String> certifications = new HashMap<String, String>();
public Map<String, String> getCertificationFor() {
return this.certifications;
}
那么你可以使用下面的符号:
${teacherBean.certificationFor[particularField]}
这在幕后解析为
teacherBean.getCertificationFor().get(particularField)
关于jsf - 如何访问 EL 变量并将其作为参数传递给 EL 中的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1961232/