【java】JSP --- EL表达式
1. 什么是EL表达式
EL(Expression Language) 是为了使JSP写起来更加简单。表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法,让Jsp的代码更加简化。
2. EL表达式的作用
替换和简化jsp页面中java代码的编写,用来代替<%=…%>
3. EL表达式的语法
- ${表达式}
3.1 忽略EL表达式
* jsp默认支持el表达式的。如果要忽略el表达式
1. 设置jsp中page指令中:isELIgnored="true" 忽略当前jsp页面中所有的el表达式
2. \${表达式} :忽略当前这个el表达式
3.2 EL表达式的使用
3.2.1 运算
- 运算符:
操作符 | 描述 |
---|---|
. |
访问一个Bean属性或者一个映射条目 |
[] |
访问一个数组或者链表的元素 |
( ) |
组织一个子表达式以改变优先级 |
+ |
加 |
- |
减或负 |
* |
乘 |
/ or div |
除 |
% or mod |
取模 |
== or eq |
测试是否相等 |
!= or ne |
测试是否不等 |
< or lt |
测试是否小于 |
> or gt |
测试是否大于 |
<= or le |
测试是否小于等于 |
>= or ge |
测试是否大于等于 |
&& or and |
测试逻辑与 |
|| or or |
测试逻辑或 |
! or not |
测试取反 |
empty |
测试是否空值 |
1. 算数运算符: + - * /(div) %(mod)
2. 比较运算符: > < >= <= == !=
3. 逻辑运算符: &&(and) ||(or) !(not)
4. 空运算符: empty
* 功能:用于判断字符串、集合、数组对象是否为null或者长度是否为0
* ${empty list}:判断字符串、集合、数组对象是否为null或者长度为0
* ${not empty str}:表示判断字符串、集合、数组对象是否不为null 并且 长度>0
3.2.2 获取值
- el表达式只能从域对象中获取值
- 语法:
1. ${域名称.键名}:从指定域中获取指定键的值
* 域名称:
1. pageScope --> pageContext
2. requestScope --> request
3. sessionScope --> session
4. applicationScope --> application(ServletContext)
* 举例:在request域中存储了name=张三
* 获取:${requestScope.name}
2. ${键名}:表示依次从最小的域中查找是否有该键对应的值,直到找到为止。
3. 获取对象、List集合、Map集合的值
1. 对象:${域名称.键名.属性名}
* 本质上会去调用对象的getter方法
2. List集合:${域名称.键名[索引]}
3. Map集合:
* ${域名称.键名.key名称}
* ${域名称.键名["key名称"]}
3.2.3 隐式对象:
- el表达式中有11个隐式对象
隐含对象 | 描述 |
---|---|
pageScope | page 作用域 |
requestScope | request 作用域 |
sessionScope | session 作用域 |
applicationScope | application 作用域 |
param | Request 对象的参数,字符串 |
paramValues | Request对象的参数,字符串集合 |
header | HTTP 信息头,字符串 |
headerValues | HTTP 信息头,字符串集合 |
initParam | 上下文初始化参数 |
cookie | Cookie值 |
pageContext | 当前页面的pageContext |
- pageContext对象是JSP中pageContext对象的引用。
* 通过pageContext对象,您可以访问request对象。比如,访问request对象传入的查询字符串,就像这样:
* 获取jsp其他八个内置对象
* ${pageContext.request.contextPath}:动态获取虚拟目录
来源:CSDN
作者:私忆一秒钟
链接:https://blog.csdn.net/qq_41879343/article/details/103934475