EL表达式全名为 Expression Language,常常与JSTL配合使用,使得JSP页面更加直观,写法更简单。web
用美圆符号 “$”定界,内容包含在花括号“{}”中数组
".”和“[]”:${param.name} 和 ${param["name"]} 是等价的,可是当要存取的属性名称中包含有一些特殊字符如 "." 或 "-" 等非字母或数字的符号 或者 在使用动态取值时,就必定要使用 "[]" 运算符浏览器
(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的九大内置对象相对应请参考编写
运算 | 符号 | 字母表示 | 含义 |
---|---|---|---|
算术运算符 | + | 执行加法操做 | |
- | 执行减法操做 | ||
* | 执行乘法操做 | ||
/ | 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,而是空字符串)。