一尘不染

如何在EL中使用动态键获取会话属性?

jsp

如果我这样设置会话:

<% 
session.setAttribute("taintedAttribute", "what ever we want");
%>

通常我们可以在EL中获得像这样的会话变量

${sessionScope.taintedAttribute }

但是如果我想这样怎么办

<% 
String name = "taintedAttribute";
//session.setAttribute(name, "what ever we want");
session.getAttribute(name);
%>

那我们怎么在EL中称呼它呢?

EL可以得到类似的东西${sessionScope.---dynamic name ---}吗?

如果我这样做:

<c:set var="name" value="taintedAttribute" />
<c:out value="${sessionScope.[name]}"/>

名称将被替换taintedAttribute为与此行相同的名称

${sessionScope.taintedAttribute}

那可能吗?我怎样才能做到这一点?


阅读 214

收藏
2020-06-08

共1个答案

一尘不染


你近了 删除期间。

<c:set var="name" value="taintedAttribute" />
<c:out value="${sessionScope[name]}"/>
2020-06-08