Java 如何使用jstl调用动态嵌套属性
如果您想使用动态键从特定bean调用getter方法,您可以这样使用: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[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}" />
两年后,我们就这样离开了,因为这似乎对性能没有太大影响