2012-08-03 163 views
0

我想做這樣的事情。JSTL參考其他變量的變量

<c:set var="test_test">test</c:set> 

<c:set var="test2">test_test</c:set> 

現在我想從TEST2

<c:out value ="${{test2}}"/> 

這不會工作,打印test_test,但我想這樣做。

我能做到這一點嗎?

回答

2

如果我理解正確,您想要使用值test_test初始化test2。如果是這樣,你只需要

<c:set var="test2" value="${test_test}"/> 

這大致相當於下面的Java代碼

Object test2 = test_test; 

如果你想顯示的test2內容(這也是test_test內容),你只需要

<c:out value="${test2}"/> 
2

如果你知道的範圍事前,然後直接使用範圍的地圖wherin您通過使用括號符號的動態密鑰。當使用<c:set>沒有明確指定scope屬性,它會在頁面範圍內是可用的地圖由${pageScope}結束了,所以這應該爲你做:

${pageScope[test2]} 

請求,會話和應用範圍地圖可通過${requestScope},${sessionScope}${applicationScope}獲得。