jsp中的EL表达式
概念
在jsp开发中为了获取servlet域对象中存储的数据经常需要书写很多java代码这样的做法会使jsp页面混乱难以维护为此在jsp20规范中提供了el表达式-el是expression-language的缩写它是一种简单的数据访问语言-本节将针对el表达式进行详细的讲解-elexpress-lanuage表达式可以嵌入在jsp页面内部减少jsp脚本的编写el出现的目的是要替代jsp页面中脚本的编写-el是jsp原生支持的)在JSP开发中,为了获取Servlet域对象中存储的数据,经常需要书写很多Java代码,这样的做法会使JSP页面混乱,难以维护,为此,在JSP2.0规范中提供了EL表达式。EL是Expression Language的缩写,它是一种简单的数据访问语言。本节将针对EL表达式进行详细的讲解。EL(Express Lanuage)表达式可以嵌入在jsp页面内部,减少jsp脚本的编写,EL 出现的目的是要替代jsp页面中脚本的编写。EL是jsp原生支持的。
EL表达式的语法
以"${"开头,以"}"结尾
- ${表达式}
EL使用
- 获得域对象中的数据(key指存在域对象中的变量名称):
- pageContext:${pageScope.key}
- request:${requestScope.Key}
- session:${sessionScope.key}
- application:${applactionScope.key}
- 从四个域中获取相应key的value:${key}(范围依次从pageContext->request->session->applaction)
- 获取比较复杂的数据类型(List,Map,引用类型);
- List:${域对象.集合名[集合索引]}
- Map:${域对象.集合名.键名}
- 引用类型${域对象.引用类型的键.引用类型的成员变量....}
- 上文所述的集合名,引用类型的建皆指的的是保存在域对象中的key值
El中的内置对象
对象名称 | 描述 |
---|---|
pageScope | page作用域 |
requestScope | request作用域 |
sessionScope | session作用域 |
applicationScope | application作用域 |
param | 获得一个参数(弃用) |
paramValues | 获得一组参数(弃用) |
header | 获得一个请求头(弃用) |
headerValues | 获得一组请求头(弃用) |
pageContext | JSP上下文对象 |
initParam | 全局初始化参数 |
cookie | cookie |
pageContext对象可以获得其他的域对象
EL中的运算符
- 算术运算符:
- +(算术加)
- -(算术减)
- *(算术乘)
- /或div(算术除)
- %或mod(算术取余)
- 关系运算符
-
==
或eq
(等于) -
!=
或ne
(不等于) -
<
或lt
(小于) -
<=
或le
(小于等于) -
>
或gt
(大于) -
>=
或ge
(大于等于)
-
- 逻辑运算符
- &&或and(与)
- ||或or(或)
- !或not(非)
- 三元运算符
- ${关系运算?"true":"false"}
- empty运算符
- ${empty 变量}
- 可判断对象是否为null,字符串是否为""串,集合的长度是否为0
网友评论