java – JSP EL:动态创建属性名

前端之家收集整理的这篇文章主要介绍了java – JSP EL:动态创建属性名前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > How to get value of bean property when property name itself is a dynamic variable1个
我正在尝试使用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>

猜你在找的Java相关文章