参见英文答案 >
How to get value of bean property when property name itself is a dynamic variable1个
我正在尝试使用JSP动态生成内容.
我正在尝试使用JSP动态生成内容.
我有一个< c:forEach>我在其中动态创建bean访问器的循环.骨架类似于:
<c:forEach var="type" items="${bean.positionTypes}"> ${bean.table} // append 'type' to the "table" property </c:forEach>
我的问题是:我想根据类型更改${bean.table}.例如,如果类型是{“Janitor”,“Chef},我想生产:
${bean.tableJanitor} ${bean.tableChef}
我怎样才能做到这一点?
解决方法
您可以使用大括号[]来使用动态键访问bean属性.
${bean[property]}
所以,根据你的例子:
<c:forEach var="type" items="${bean.positionTypes}"> <c:set var="property" value="table${type}" /> ${bean[property]} </c:forEach>