您的位置:首页 > 运维架构

EL表达式中${sessionScope['oper_key'].userName}的含义

2016-03-19 23:40 253 查看
 转自:http://baike.baidu.com/link?url=ce9tkAGJpRIQ19wW0n10nFe-zv3WENsXUNYKgbWxhK2MYt4Cy_EJ8BHYn3EWtIiGmHns0e1fJUPnlrWcaWZPZq

EL表达式中${sessionScope['oper_key'].userName}的含义:

表示获取当前会话中属性名(或者变量名)为oper_key对应的值(或者对象),

这里是一个用户对象,并通过.userName获取该用户对象的用户名。

这里oper_key该对象的值通过

session.setAttribute (SESSION_KEY, user);

或者

request.getSession().setAttribute(oper_key, user);的方法注入。

EL表达式的语法:

1、语法结构

${expression}

2、[ ]与.运算符

EL 提供“.“和“[ ]“两种运算符来存取数据。

当要存取的属性名称中包含一些特殊字符,如 . 或 - 等并非字母或数字的符号,就一定要使用“[ ]“。例如:

${ user. My-Name}应当改为${user["My-Name"]}

如果要动态取值时,就可以用“[ ]“来做,而“.“无法做到动态取值。例如:

${sessionScope.user[data]}中data 是一个变量

3、变量

EL存取变量数据的方法很简单,例如:${username}。它的意思是取出某一范围中名称为username的变量。

因为我们并没有指定哪一个范围的username,所以它会依序从Page、Request、Session、Application范围查找。

假如途中找到username,就直接回传,不再继续找下去,但是假如全部的范围都没有找到时,就回传null。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: