码迷,mamicode.com
首页 > 其他好文 > 详细

EL表达式之sessionScope

时间:2016-01-20 12:47:17      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:

2016.1.8

EL 全名为Expression Language 

EL 语法很简单,它最大的特点就是使用上很方便。接下来介绍EL主要的语法结构: ${sessionScope.user.sex} 

所有EL都是以${为起始、以}为结尾的。上述EL范例的意思是:从Session的范围中,取得 用户的性别。假若依照之前JSP Scriptlet的写法如下: 

User user = (User)session.getAttribute("user"); 

String sex = user.getSex( ); 

两者相比较之下,可以发现EL 的语法比传统JSP Scriptlet 更为方便、简洁。 

.与 [ ] 运算符 

EL 提供 . 和 [ ] 两种运算符来导航数据。下列两者所代表的意思是一样的: 

${sessionScope.user.sex}等于${sessionScope.user["sex"]} 

. 和 [ ] 也可以同时混合使用,如下: 

${sessionScope.shoppingCart[0].price} 

回传结果为shoppingCart中第一项物品的价格。 

不过,以下两种情况,两者会有差异: 

(1) 当要存取的属性名称中包含一些特殊字符,如. 或 – 等并非字母或数字的符号,就一定要使用 [ ],例如:${user.My-Name } 

上述是不正确的方式,应当改为:${user["My-Name"] } 

(2) 我们来考虑下列情况: 

${sessionScope.user[data]} 

此时,data 是一个变量,假若data的值为"sex"时,那上述的例子等于${sessionScope.user.sex}; 

假若data 的值为"name"时,它就等于${sessionScope.user.name}。因此,如果要动态取值时,就可以用上述的方法来做,但[] 无法做到动态取值。

EL表达式之sessionScope

标签:

原文地址:http://www.cnblogs.com/gugibv/p/5144406.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!