带有参数的getter的JSTL或JSP 2.0 EL
如何使用JSTL或JSP 2.0 EL访问具有参数的getter?
我想访问这样的东西:
public FieldInfo getFieldInfo(String fieldName) { .... }
我可以使用映射属性在Struts中访问它,但不知道它是否可以在JSTL或JSP 2.0中使用。
我尝试了一切,但没有工作。
在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 getFieldInfo() { // ... }
以便您可以按如下方式访问它
${bean.fieldInfo.fieldName}
要么
${bean.fieldInfo['fieldName']}
要么
${bean.fieldInfo[otherBean.fieldName]}