EL表达式

EL表达式全名为 Expression Language,常常与JSTL配合使用,使得JSP页面更加直观,写法更简单。web

EL表达式的格式

        用美圆符号 “$”定界,内容包含在花括号“{}”中数组

        ".”和“[]”:${param.name} 和 ${param["name"]} 是等价的,可是当要存取的属性名称中包含有一些特殊字符如 "." 或 "-" 等非字母或数字的符号 或者 在使用动态取值时,就必定要使用 "[]" 运算符浏览器

EL变量

(1)与范围有关的内置对象cookie

            pageScope: 与页面做用域属性的名称和值相关联的MAP类session

            requestScope:与请求做用域属性的名称和值相关联的MAP类app

            sessionScope:与会话做用域属性的名称和值相关联的MAP类spa

            applicationScope:与应用程序做用域属性的名称和值相关联的MAP类server

(2)与输入有关的内置对象xml

              param :按名称存储请求参数的主要值的MAP类对象

              paramValues :将请求参数的全部值做为String数组存储的MAP类

           param 和 paramValues 用来获取表单中提交的信息。前者返回 String 类型数据,后者返回     String[] 类型的数据。如 ${paramValues.name}。

(3)其余隐含对象

        Cookie:按名存储请求附带的cookie的MAP类

        header :按名称存储请求头主要值的MAP类 

                     如:${header["UserAgent"]} 获取浏览器的版本信息

        headerValues :将请求头的全部值做为String 数组存储的MAP类

        initParam  :按名称存储的Web 应用程序上下文初始化参数的MAP类

                        如:${initParam.DBDriver} 获取web.xml中配置的相关参数

        pageContext :PageContext实例对应于当前页面的处理

                    ${pageContext.request.queryString}取得请求的参数字符串

                    ${pageContext.request.requestURL} 取得请求的URL,不包括参数字符串

                    ${pageContext.request.contextPath}        服务的web application 的名称

                    ${pageContext.request.method}          取得HTTP 的方法(GET、POST)

                    ${pageContext.request.protocol}        取得使用的协议(HTTP/1.一、HTTP/1.0)

                    ${pageContext.request.remoteUser}        取得用户名称

                    ${pageContext.request.remoteAddr}         取得用户的IP 地址

                    ${pageContext.session.new}            判断session 是否为新的

                    ${pageContext.session.id}              取得session 的ID

                    ${pageContext.servletContext.serverInfo}  取得主机端的服务信息

注意:基本与JSP的九大内置对象相对应请参考编写

EL操做符

运算 符号 字母表示 含义
算术运算符 +   执行加法操做
-   执行减法操做
*   执行乘法操做
/ div 执行除法操做
% mod 执行取模操做
关系运算符 == eq 等于
!=  ne 不等于
> gt 大于
< lt 小于
>= ge 大于等于
<= le 小于等于
逻辑运算符 && and 与运算符,若是符号两边均为true,则返回true,不然返回false
|| or 或运算符,若是符号两边任何一边为true,则返回true,不然返回false
! not 非运算符,在运算结果为true的时候,则返回false,不然返回true
验证运算符 empty empty做为前缀,用来检索一个值是否为null或者empty。如${empty user.name}用来判断user对象中的name的值是否为null
条件运算符 ? ${条件 ? truevalue:falsevalue},若是条件为真,则表达式的值为truevalue,不然为falsevalue

字符串比较:

不须要双引号“”

    user.name eq '001' 或 user.name eq Lily

    empty 运算符用于判断值是否为 null 或 空 。 ${empty null} ${empty ""}

 

获取数据

         使用EL表达式获取数据语法:“${标识符}”

         EL表达式语句在执行时,会调用pageContext.findAttribute方法,用标识符为关键字,

分别依次从page、request、session、application四个域中查找相应的对象,找到则返回相应对象,

找不到则返回”” (注意,不是null,而是空字符串)。

相关文章
相关标签/搜索