1.EL表达式
[1] 简介
> JSP表达式 <%= %> 用于向页面中输出一个对象。
> 到JSP2.0时,在我们的页面中不允许出现 JSP表达式和 脚本片段。
> 使用EL表达式来代替JSP表达式 ,使用标签来代替脚本片段。
> EL表达式用来向页面输出内容

[2] 基本语法
> ${表达式}
> EL表达式可以从域中获取属性。
- 使用 ${属性名}
- 如果只填写一个属性名,EL表达式会自动做全域查找。
- 所谓的全域查找,就是按照page request session
application四个域范围内分别,找到就返回属性,如果没找到什么都不返还。

- 我们还可以指定去哪个域查找
pageScope
requestScope
sessionScope
applicationScope

- 例子:
查找request中属性
${requestScope.属性名}
查找session中的属性
${sessionScope.属性名}

- 注意:EL表达式只能获取域中的属性
EL表达式不能直接调用对象的方法

- 通过EL表达式读取对象的属性时,只需要${对象.属性名}
EL表达式会自动调用对象的对应的getter方法,通过将属性名首字母大写,然后加上一个get

注意:只要有属性,就可以一直点下去,也就说对象的属性是对象的话,我们也可以通过对象的属性的属性的方式调用!

- 当读取一些名字比较特殊的属性时,这种特殊值必须要指定域,例如属性名带-:
${requestScope['属性名']}

[3] 隐含对象
> EL中一共有11个内置对象。
- pageContext
类型 PageContext
它和JSP中pageContext是一个东西
作用 可以获取到JSP中其他的隐含对象
例如:可以获取项目名:
${pageContext.request.contextPath }

- pageScope
类型:Map<String,Object>
代表:page域中的属性
作用:可以获取到page域中的属性

- requestScope
类型:Map<String,Object>
代表:request域中的属性
作用:可以获取到request域中的属性

- sessionScope
类型:Map<String,Object>
代表:session域中的属性
作用:可以获取到session域中的属性

- applicatScope
类型:Map<String,Object>
代表:application域中的属性
作用:可以获取到application域中的属性

- param
类型: Map<String , String>
代表:用户发送的请求参数
作用:可以获取请求参数
用法: ${param.参数名}

- paramValues
类型:Map<String , String[]>
代表:一个请求参数对应的多个值
用法: ${paramValues.参数名[索引]}

- header
作用:可以获取到用户发送的请求头
类型:Map<String , String>
例如:获取用户的系统信息 ${header['User-Agent']}

? - headerValues
类型: Map<String , String[]>
作用:可以获取一个头的多个值

? - initParam;
类型:Map<String , String>
作用:获取整个WEB应用的初始化参数

? - cookie
类型:Map<String , Cookie>
作用:用来获取Cookie

[4] 运算
> 在EL中可以直接使用运算符进行运算。

> 在EL中可以使用Empty元素符:
如果值为null , empty则返回 true
如果为空串, 则返回 true
空的集合 返回true
> 所以empty元素符经常用来判断集合或者字符串是否为空

最新文章

  1. 搭建ssm的领悟
  2. 移动BI来袭我们要做哪些准备?
  3. 基于HTML5 Canvas实现工控2D叶轮旋转
  4. Git及Github入门笔记
  5. Loadrunner连接Mysql数据库
  6. 20135202闫佳歆--week 8 进程的切换和系统的一般执行过程--学习笔记
  7. 浅谈jQuery中setInterval()方法
  8. http://blog.163.com/zhangmihuo_2007/blog/static/27011075201392685751232/
  9. “IPSec 共享密钥”丢失。
  10. substr_replace()函数:将手机号中间4位隐藏为*号
  11. VSPackge插件系列:简单文本编辑器的实现
  12. jQuery链式操作
  13. 简单的Ajax应用实例
  14. Properties文件中文属性读取是乱码问题
  15. opencv debug版本在linux下编译,并写了一个DEMO
  16. js篇-判断数组对象中是否含有某个值,并返回该条数据
  17. 漏洞复现——ngnix文件解析漏洞
  18. php 类与对象
  19. lua 源码阅读顺序
  20. PHP代码审计笔记--CSRF漏洞

热门文章

  1. Mybatis实现联合查询(六)
  2. POJ 1287 Networking【kruskal模板题】
  3. UVALive 2678 利用序列的前缀来减少时间复杂度
  4. Juniper srx新增接口IP,使PC直连srx(转)
  5. Android巩固之事件分发机制
  6. classification.py
  7. 小白学习之pytorch框架(1)-torch.nn.Module+squeeze(unsqueeze)
  8. \_\_setitem\_\_和\_\_getitem和\_\_delitem__
  9. Java零基础学习详解
  10. Monkey通过安装包获取包名