JSTL or JSP 2.0 EL for getter with argument

后端 未结 1 1240
北荒
北荒 2020-12-10 06:39

How can I access a getter that has a parameter using JSTL or JSP 2.0 EL?

I want to access something like this:

public FieldInfo getFieldInfo(String f         


        
相关标签:
1条回答
  • 2020-12-10 07:08

    Passing method arguments in EL is only by EL spec supported in EL 2.2. EL 2.2 is by default shipped in Servlet 3.0 / JSP 2.2 containers. So if you're using a Servlet 3.0 container (Tomcat 7, Glassfish 3, JBoss 6, etc) and your web.xml is declared conform Servlet 3.0 spec, then you should be able to access it as follows

    ${bean.getFieldInfo('fieldName')}
    

    Since you explicitly mentioned JSP 2.0, which is part of the old Servlet 2.4 spec, I assume that there's no room for upgrading. Your best bet is to replace the method by

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

    so that you can access it as follows

    ${bean.fieldInfo.fieldName}
    

    or

    ${bean.fieldInfo['fieldName']}
    

    or

    ${bean.fieldInfo[otherBean.fieldName]}
    
    0 讨论(0)
提交回复
热议问题