如何在EL中使用动态密钥获取会话属性? [英] How to get session attribute with a dynamic key in EL?

查看:101
本文介绍了如何在EL中使用动态密钥获取会话属性?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果我设置这样的会话:

If I set session like this:

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

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

normally we can get session variable like this in EL

${sessionScope.taintedAttribute }

但是如何关于我是否愿意这样做

But how about if I want to do like this

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

那我们如何在EL中调用它?

Then how can we call it in EL?

EL可以获得类似 $ {sessionScope .---动态名称---} 吗?

Can EL get something like ${sessionScope.---dynamic name ---}?

如果我这样做:

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

该名称将由 taintedAttribute 替换为与此行相同

the name will be replaced by taintedAttribute as the same as this line

${sessionScope.taintedAttribute}

这可能吗?我该怎么做?

Is that possible? How can I do that?

推荐答案

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

你很接近。删除期间。

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



参见:




  • 我们的EL维基页面

  • Java EE 6教程 - EL表达式示例

  • See also:

    • Our EL wiki page
    • Java EE 6 tutorial - Examples of EL expressions
    • 这篇关于如何在EL中使用动态密钥获取会话属性?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆