我正在使用Spring MVC作为我的控制器,JSP是我的表示层.
在我的Spring控制器中,我有:
model.put("issues", dataManager.getIssues());
model.put("functions", dataManager.getFunctions());
Run Code Online (Sandbox Code Playgroud)
所以现在在我的JSP中,我可以访问
${requestScope['issues']}
${requestScope['functions']}
Run Code Online (Sandbox Code Playgroud)
这一切都很好.但是为了我的代码是可扩展的,我想用来存储变量名issues和functions数据库,然后将通过一个属性来访问内部configs多数民众赞成被环绕在物体.所以我最终想要的是以下内容:
<c:forEach items="${configs}" var="cfg">
<c:if test="${cfg.configType == 'select'}">
<th>${cfg.header}</th>
<td><myTagLib:select values="${requestScope['${cfg.selectorName}']}" /></td>
</c:if>
</c:forEach>
Run Code Online (Sandbox Code Playgroud)
凡${cfg.selectorName}将举行要么issues还是functions在这个例子中.
你很亲密 您只需要删除嵌套,${}因为这是无效的语法.
<myTagLib:select values="${requestScope[cfg.selectorName]}" />
Run Code Online (Sandbox Code Playgroud)