Java 如何使用jstl调用动态嵌套属性

Java 如何使用jstl调用动态嵌套属性,java,jsp,jstl,Java,Jsp,Jstl,如果您想使用动态键从特定bean调用getter方法,您可以这样使用: ${bean[getterName]} <c:forTokens items="${property}" delims="." var="item"> <c:set var="value" value="${value[item]}" /> </c:forTokens> 但是,如果您想用动态名称调用双嵌套或三嵌套属性,它是如何工作的,有可能吗 ${bean.propert

如果您想使用动态键从特定bean调用getter方法,您可以这样使用:

${bean[getterName]}
<c:forTokens items="${property}" delims="." var="item">   
    <c:set var="value" value="${value[item]}" />
</c:forTokens>
但是,如果您想用动态名称调用双嵌套或三嵌套属性,它是如何工作的,有可能吗

${bean.propertyA.propertyB} WORKS
${bean[propertyA.propertyB]} DOES NOT WORKS
<c:set var="dynamicKey" value="propertyA.propertyB" />
${bean[dynamicKey]} DOES NOT WORKS
${bean.propertyA.propertyB}有效
${bean[propertyA.propertyB]}不起作用
${bean[dynamicKey]}不起作用
更新:

目前,我们正在这样处理:

${bean[getterName]}
<c:forTokens items="${property}" delims="." var="item">   
    <c:set var="value" value="${value[item]}" />
</c:forTokens>

带嵌套属性的点符号与方括号符号:

${bean.propertyA.propertyB}
${bean[propertyA.propertyB]} ==> Not right, instead
${bean["propertyA"]["propertyB"]}
您的JSTL示例:

<c:set var="dynamicKey" value="${bean['propertyA']['propertyB']}" />
<c:out value="${dynamicKey}" />

两年后,我们就这样离开了,因为这似乎对性能没有太大影响