EL表达式

1.EL表达式

[1] 简介

- JSP的表达式  <%=变量或者对象 %>
- JSP表达式的作用:向页面中输出内容
- EL表达式也是向页面中输出内容

- 在JSP2.0的时候,不建议使用JSP的表达式和JSP的脚本片段
- 我们使用EL表达式去替换JSP的表达式,使用自定义标签去替换JSP脚本片段。
- 我们在以后的开发中尽量使用EL表达式和自定义标签,但是也会偶尔使用JSP的脚本片段。

[2] 基本语法

- ${输出的内容 }
- 可以用来获取域对象中的属性(***********很重要很重要)
- 获取域对象中的属性方式: ${属性名 }
- 如果EL表达式中的内容是null,那么没有任何东西输出到页面中。
- 如果有多个域中存在相同名称的属性,那么我们在通过${属性名 }的方式去获取域中的属性,
EL表达式会做一个全域的查询(在四个域中都会去查找)。
- EL表达式做全域查找的时候遵循一个由小到大顺序去查询
例如:首先到page域中去查找,如果查找到则输出
  如果查找不到,则到request域中去查找,如果查找到则输出
  如果查找不到,则到session域中去查找,如果查找到则输出
  如果查找不到,则到application域中去查找,如果查找到则输出
  如果查找不到,则什么都不会输出。
  
- 如果多个域中有相同的属性,那么如果我们要获取指定域中的属性,可以通过如下的方式获取
${域的名字.属性名 }

域对象
pageContext pageScope
request requestScope
session sessionScope
application applicationScope

- 如果我们域中的属性是一个对象,我们想要获取该对象的属性,那么我们可以通过如下的方式获取:
${对象.属性名 }
${stu.address.street }

- 一些特殊的属性名  例如 request.setAttribute("Hello-Kitty", "Tomcat");
我们在获取属性的时候就不能通过${Hello-Kitty }去获取。

这个时候我们可以通过如下的方式去获取:
${域的名称['属性的名称'] }
${requestScope['Hello-Kitty'] }

- 如果我们域中的属性是一个Map集合,我们可以通过如下的方式获取map集合中的值:
${map集合对象.键的名称}
${map集合对象['键的名称']}

- 如果我们域中的属性是一个List集合,我们可以通过如下的方式获取List集合中的元素
${List集合对象[索引] }

[3] EL表达式中的11隐含对象

- pageContext
类型:PageContext
代表:和jsp中pageContext是一个东西,代表当前jsp页面的上下文信息
作用:获取其他8个jsp的隐含对象

${pageContext.request } 获取request对象
${pageContext.request.contextPath } 获取项目的根路径
- pageScope
类型:Map<String,Object>
代表:代表page域
作用:用来存储存入到page域中的属性
- requestScope
类型:Map<String,Object>
代表:代表request域
作用:用来存储存入到request域中的属性
- sessionScope
类型:Map<String,Object>
代表:代表session域
作用:用来存储存入到session域中的属性
- applicationScope
类型:Map<String,Object>
代表:代表application域
作用:用来存储存入到application域中的属性
- param
类型:Map<String,String>
代表:代表请求参数
作用:可以用来获取请求参数
${param.请求参数名 }
- paramValues
类型:Map<String,String[]>
代表:代表请求参数,一个请求参数可以对应多个值
作用:可以用来获取请求参数的多个值。
- header
类型:Map<String,String>
代表:代表请求头信息
作用:获取请求头信息
- headerValues
类型:Map<String,String[]>
代表:代表请求头信息,一个请求头可以对应多个值
作用:获取请求头信息的多个值
- initParam
类型:Map<String,String>
代表:代表整个应用程序的初始化参数
作用:获取整个应用程序的初始化参数
- cookie
类型:Map<String,Cookie>
代码:代表Cookie的信息
作用:获取Cookie的信息

[4] 运算

- 在EL表达式中可以做运算
${100-46 }
- empty运算符 
既可以判断字符串是否为null,还可以判断字符串内容是否为空""; 
如果字符串为null或者字符串是空串"",那么返回值是true

- == 只能比较字符串对象是否为null

- empty运算符还能够判断List集合和Map集合元素是否为空。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Diligently_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值