您的位置:首页 > Web前端 > JavaScript

品茶看<Servlet&JSP>-EL表达式

2014-04-07 08:31 393 查看


前言

  今早,概率课偷了下小懒写的:

                


 

  泡一杯红茶,ACM集训前,写篇博客记录记录EL表达式。


        #EL介绍


        ①EL 语法


        ②访问JavaBean等


        ③EL隐式对象


        ④EL运算符

 


EL介绍

  EL 全名为Expression Language。受ECMAScript 和XPath 表达式的语言启发。EL 的语法比传统JSP Scriptlet 更为方便、简洁。

 


EL 语法

 

  ①基本知识

    ${为起始、以}为结尾的,构造:${expression}。接下来比较下:   

    JSP Scriptlet获取:

    EL 获取:

  

  ② [] 和 . 运算符

    EL表达式中,对象有属性。就可以利用  [] 和 . 运算符  来访问该属性,两者功能相似。

    例如:下面都是一样的。

        或者

  

   两者功能差异

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

    例如:

   #我们来考虑下列情况:

    selection是一个变量,可以代表user各个属性。

      ${sessionScope.user[selection]}

    如果selection为"name",就相当于sessionScope.user.name或者{sessionScope.user["name"]}

    因此,如果要动态取值时,. (点)运算符无法做到动态取值, []  运算符 可以做到。

 


访问JavaBean

[align=center]类型[/align]
[align=center]实例[/align]
[align=center]方法[/align]
[align=center]JavaBeans[/align]
${user.username}
${user["username"]}
${user['username']}
user.getUsername()
[align=center]数组[/align]
${sport[1]}
${sport["1"]}
${sport['1']}
sport[1]
[align=center]List[/align]
${phone[2]}
${phone["2"]}
${phone['2']}
phone.get(2)
[align=center]Map[/align]
${phone.home}
${phone["home"]}
${phone['home']}
phone.get("home")
 


EL隐式对象

隐含对象
类型
说明
PageContext
javax.servlet.jspPageContext
表示当前JSP的javax.servlet.jsp.PageContext
PageScope
java.util.Map
取得Page范围的属性名称所对应的值
RequestScope
java.util.Map
取得Request范围的属性名称所对应的值
sessionScope
java.util.Map
取得Session范围的属性名称所对应的值
applicationScope
java.util.Map
取得Application范围的属性名称所对应的值
param
java.util.Map
如同ServletRequest.getParameter(String name)。回传String类型的值
paramValues
java.util.Map
如同ServletRequest.getParameterValues(String name)。回传String[]类型的值
header
java.util.Map
如同ServletRequest.getHeader(String name)。回传String类型的值
headerValues
java.util.Map
如同ServletRequest.getHeaders(String name)。回传String[]类型的值
cookie
java.util.Map
如同HttpServletRequest.getCookies()
initParam
java.util.Map
如同ServletContext.getInitParameter(String name)。回传String类型的值
 


cookie

  隐式对象cookie包含了当前HttpServletRequest的所有cookie 的Map。

  例如

    获取一个名为jsessionid的cookie值:    

  


header 和headerValues

header 储存用户浏览器和服务端用来沟通的数据,当用户要求服务端的网页时,会送出一个记载要求信息的标头文件,例如:用户浏览器的版本、用户计算机所设定的区域等其他相关数据。

  例如

    获取accept-language语言

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

 


initParam

 

  就想我们在web-xml 配置 初始化值得时候,我们用initParam隐式对象可以获取。

 

  

  用EL表达式获取:

      等价于       

  


param和paramValues

 

  同上面的理

  等价于

request.getParameter(String name)

request.getParameterValues(String name)

 


EL运算符

 
逻辑运算符
实例
结果
&&或and
交集${A && B}或${A and B}
true/false
||或or
并集${A || B}或${A or B}
true/false
!或not
非${! A }或${not A}
true/false
 


总结

  EL学习,这次比较全。以前用着就去看,索性写篇博客记录下。

 

          


                学这个,好比ABC... 慢慢来,多写多用就会了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: