EL表达式详解
程序员文章站
2022-07-10 19:16:04
@[TOC]EL&JSTL1.EL简介1.1为什么使用EL?EL可以简化JSP中的表达式代码1.2EL全称:Expression Language,是jsp内置的表达式语言1.3EL作用:访问域中的数据【对象&对象中的属性变量】,也可以执行一些简单的运算或判断操作。1.4EL的特点EL在获取数据的时候,会自动地进行数据类型的转换EL在输出数据的时,如果有数据则输出,如果没有数据即【null】,则什么都不输出EL表达式只能用来读取数据,不能对数据进行修改2.EL的使...
@[TOC]EL
1.EL简介
1.1为什么使用EL?
EL可以简化JSP中的表达式代码
1.2EL全称:
Expression Language,是jsp内置的表达式语言
1.3EL作用:
访问域中的数据【对象&对象中的属性变量】,也可以执行一些简单的运算或判断操作。
1.4EL的特点
- EL在获取数据的时候,会自动地进行数据类型的转换
- EL在输出数据的时,如果有数据则输出,如果没有数据即【null】,则什么都不输出
- EL表达式只能用来读取数据,不能对数据进行修改
2.EL的使用
2.1基本使用:
- ${标识符}:默认从小到大域进行检索数据,如果始终未检测到数据,则什么都不显示
- ${el域对象.标识符}:直接从指定域中获取数据
- EL与jsp域对象对照表
域称呼 | jsp域对象 | EL域对象 |
---|---|---|
page域(页面域) | pageContext | pageScope |
request域(请求域) | request | sessionScope |
session域(会话域) | session | sessionScope |
application域(web上下文域) | application | applicationScope |
2.2EL获取对象及对象中的属性问题
- 语法
– ${el域对象.对象名.属性名}
– ${el域对象.对象名[“属性”]}
– ${el域对象.对象名.getXXX()} - 注意:严格意义属性,封装后的全局变量,称之为属性。el中调用对象中的属性,本质调用的是getXXX()
3.EL中运算符
3.1EL中支持java中的运算符,如:算术,关系,逻辑,三元运算符
3.2EL中特有【empty】运算符
- 语法:${empty 标识符}
- empty:判断空值的运算符,判断数据为空时,返回true
- empty支持3种空值
– 1.“”
– 2.null
– 3.空的数组或集合【数组length=0或集合的size==0】 - 判断非空语法:{not empty 标识符}
4.EL中11个内置对象
4.1 4个域对象
- pageScope
- requestScope
- sessionScope
- applicationScope
4.2 7个其他对象
- pageContext:jsp中pageContext对象一致,EL中pageContext作用:调用其他8个内置对象
- param:获取请求参数(单个),相当于jsp中的request.getParameter();
- paramValues:获取请求参数(多个),相当于jsp中的request.getParameterValues();[name相同]
- header:获取请求头信息(单个),相当于jsp中的request.getHeader()
- headerValues:获取多个请求头信息(多个)
- cookie:获取cookie信息
- initParam:获取web上下文初始化参数,相当于ServletContext中的getInitParameter()
4.3记忆技巧
- jsp:pageContext作用=el:pageScope【域对象】+pageContext【获取其他8个对象】
- jsp:request作用=el:requestScope【域对象】+param【获取请求参数】+header【获取请求头信息】
4.4扩展问题:在EL中需求request对象的【获取URL信息】功能,怎么办?【el中需要使用jsp的session对象怎么办?】
- ${pageContext}
- ${pageContext.session}
本文地址:https://blog.csdn.net/qq_44415194/article/details/107497594
上一篇: 使用__new__实现单例模式