双嵌套EL变量?

时间:2011-09-27 01:32:15

标签: jsp el

我正在使用Spring MVC作为我的控制器,JSP是我的表示层。

在我的Spring控制器中,我有:

model.put("issues", dataManager.getIssues());
model.put("functions", dataManager.getFunctions());

所以现在在我的JSP中,我可以访问

${requestScope['issues']}
${requestScope['functions']}

这一切都很好。但是为了使我的代码可扩展,我想将变量名issuesfunctions存储在数据库中,然后可以通过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>

此示例中${cfg.selectorName}将包含issuesfunctions

1 个答案:

答案 0 :(得分:7)

你很亲密。您只需删除嵌套的${},因为这是无效的语法。

<myTagLib:select values="${requestScope[cfg.selectorName]}" />