JSTL引用其他变量的变量

时间:2012-08-03 13:26:53

标签: jsp jstl el

我想做这样的事情。

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

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

现在我想从test2打印test_test

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

这不行,但我想做这样的事情。

我能做到这一点吗?

2 个答案:

答案 0 :(得分:2)

如果我理解正确,您希望使用test2的值初始化test_test。如果是这样,你只需要

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

大致相当于以下Java代码

Object test2 = test_test;

如果您想显示test2的内容(也是test_test的内容),您只需要

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

答案 1 :(得分:2)

如果您事先知道范围,则直接使用范围映射,并使用括号表示法传递动态密钥。在没有明确指定<c:set>属性的情况下使用scope时,它最终会出现在页面范围内,这是${pageScope}提供的地图,所以这应该适合您:

${pageScope[test2]}

请求,会话和应用范围地图由${requestScope}${sessionScope}${applicationScope}提供。