小编典典

带有参数的getter的JSTL或JSP 2.0 EL

jsp

如何使用JSTL或JSP 2.0 EL访问具有参数的吸气剂?

我想访问这样的内容:

public FieldInfo getFieldInfo(String fieldName) {
 ....
}

我可以通过使用映射的属性在Struts中访问它,但是不知道在JSTL或JSP 2.0中是否可以实现。

我尝试了所有内容,但无法正常工作。


阅读 238

收藏
2020-06-08

共1个答案

小编典典

EL中仅通过EL 2.2支持的EL规范传递方法参数。默认情况下,EL 2.2随Servlet 3.0 / JSP
2.2容器一起提供。因此,如果您使用的是Servlet 3.0容器(Tomcat 7,Glassfish 3,JBoss
6等),并且web.xml被声明为符合Servlet 3.0规范,那么您应该可以按以下方式访问它

${bean.getFieldInfo('fieldName')}

由于您明确提到了JSP 2.0,它是旧的Servlet 2.4规范的一部分,因此我假设没有升级的空间。最好的选择是将方法替换为

public Map<String, FieldInfo> getFieldInfo() {
    // ...
}

这样您就可以按以下方式访问它

${bean.fieldInfo.fieldName}

要么

${bean.fieldInfo['fieldName']}

要么

${bean.fieldInfo[otherBean.fieldName]}
2020-06-08