2011-09-27 110 views
5

我爲我的控制器使用Spring MVC,JSP是我的表示層。雙嵌套EL變量?

在我的春天控制器,我有:

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}將舉行要麼issues或在這個例子中functions

回答

6

你很近。由於語法無效,因此只需要刪除嵌套的${}

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

.....然後就這樣做了。很好,謝謝! – Mike

+0

不客氣。 – BalusC

+0

@BalusC,我喜歡** \t \t \t \t \t \t \t **。但我無法通過這種方式獲取物品清單。請幫忙。 – masT