【发布时间】:2014-12-09 06:44:31
【问题描述】:
我有一个名为“form”的 JSP 属性设置如下
<c:set value="${fieldAttributeMap[rowId].buildForm}" var="form" />
这行得通。属性“form”包含一个 Java 对象,稍后将在 JSP 中用于进一步评估和显示。但是,我想以更通用的方式使用它,而不事先知道表单名称是什么 - 它可以命名为例如“modelForm”而不是“buildForm”。如果我们假设我已经将变量的名称存储在 JSP 属性“formName”中
<c:set value="buildForm" var="formName" />
如何使用它来设置 JSP 属性“form”,就像在第一个代码示例中一样?基本上,表达式必须被计算两次,就像在这个虚构的、不工作的例子中一样:
<c:set value="${fieldAttributeMap[rowId][${formName}]}" var="form" />
我想到的唯一解决方法是编写我自己的标签或使用过时的 Struts bean:define 标签。但我希望有更好的解决方案或解决方法。
编辑: 有人建议这个问题可能与calling another variable using a variable value as parameter in jstl 重复但是,那里提供的解决方案不适用于此处,因为我需要将属性名称替换为另一个 Java 对象的属性。
【问题讨论】:
-
我阅读了链接问题的答案,它似乎包含问题的可能解决方案。但是,我过度简化了这个问题,以便读者可以访问,所以链接的问题并没有回答我的真正问题。我会相应地编辑问题。
标签: java jsp jstl expression jsp-tags