use*_*783 8 java jsp jstl properties
如何使用JSTL或JSP 2.0 EL访问具有参数的getter?
我想访问这样的东西:
public FieldInfo getFieldInfo(String fieldName) {
....
}
Run Code Online (Sandbox Code Playgroud)
我可以使用映射属性在Struts中访问它,但不知道它是否可以在JSTL或JSP 2.0中使用.
我尝试了一切,但没有工作.
Bal*_*usC 22
在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')}
Run Code Online (Sandbox Code Playgroud)
既然你明确提到了JSP 2.0,它是旧Servlet 2.4规范的一部分,我认为没有升级空间.你最好的选择是替换方法
public Map<String, FieldInfo> getFieldInfo() {
// ...
}
Run Code Online (Sandbox Code Playgroud)
以便您可以按如下方式访问它
${bean.fieldInfo.fieldName}
Run Code Online (Sandbox Code Playgroud)
要么
${bean.fieldInfo['fieldName']}
Run Code Online (Sandbox Code Playgroud)
要么
${bean.fieldInfo[otherBean.fieldName]}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11247 次 |
| 最近记录: |