`
kaminlee
  • 浏览: 261342 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

EL表达式之sessionScope

阅读更多
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表达式的详细使用

    EL表达式的简单介绍 一、JSP EL语言定义 E L(Expression Language) 目的:为了使JSP写起来更加简单。 表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法。它是一种...

    EL表达式详解

    ·EL表达式可操作常量、变量和隐式对象。 最常用的隐式对象有${param}和${paramValues}。 ${param}表示返回请求参数中单个字符串的值. ${paramValues}表示返回请求参数的一组值. pageScope 表示页面范围的变量. ...

    EL表达式 (详解)

    EL表达式 (详解) EL表达式 1、EL简介 1)语法结构 ${expression} 2)[]与.运算符 EL 提供.和[]两种运算符来存取数据。 当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就一定要使用 ...

    JSP中EL表达式的用法详解(必看篇)

    EL 全名为Expression Language EL 语法很简单,它最大的特点就是使用上很方便。接下来介绍EL主要的语法结构: ${sessionScope.user.sex} 所有EL都是以${为起始、以}为结尾的。...EL表达式是配合JST

    EL表达式(详解)

    EL表达式 1、EL简介 1)语法结构 ${expression} 2)[]与.运算符 EL 提供.和[]两种运算符来存取数据。 当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就一定要使用 []。 例如: ${user....

    El-表达式简介

    EL表达式 1、EL简介 1)语法结构 ${expression} 2)[]与.运算符 EL 提供.和[]两种运算符来存取数据。 当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就一定要使用 []。 例如: ...

    EL表达式详细介绍

    EL 提供.和[]两种运算符来存取数据。  当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就一定要使用 []。例如:  ${user.My-Name}应当改为${user["My-Name"] }  如果要动态取值时,就可以...

    jsp中关于EL表达式的应用

    1.pageScope:所有页面作用域变量的集合(java.util.Map) 2.requestSCope:... 3.sessionScope:所有会话作用域变量的集合(java.util.Map) 4.applicationScope:所有应用作用域变量的集合(java.util.Map)

    浅谈SpringMVC jsp前台获取参数的方式 EL表达式

    ${sessionScope.msg2} JAVA: ModelAndView ModelMap Model里添加的参数 JSP: 直接用${参数名} JAVA: 前台表单里的信息,或者是直接在url后面以?name=value&name2=value2形式传到后台的 JSP: ${param.参数名} ...

    在js文件中写el表达式取不到值的原因及解决方法

    今天在js文件中,写el表达式取不到值(代码如下),百度一翻,现总结如下: 1、javascript是客户端执行,EL是在服务端执行,而服务端比客户端先执行,所以取不到值 2、要想获取”${isLogin}”的值,可以在jsp中,用一个...

    JS页面获取 session 值,作用域和闭包学习笔记

    注意这里面需要使用 “” 把 El 表达式给括起来,否则就取不到数据。 JSP获取session的值: 可以直接${sessionScope.变量名},在标签里也是一样。 JSP获取URL的值: var name = "<%=request.getParameter(...

Global site tag (gtag.js) - Google Analytics