注:本文章基于尚硅谷JavaWeb相关视频及资料进行编写,代码简单,较容易理解,若有问题或者源码资料获取可以在评论区留言或者联系作者!
开篇
EL表达式:全称为Expression Language;表达式语言
主要作用是代替jsp页面中的表达式脚本在jsp页面中进行数据的输出;
EL表达式在输出数据的时候,要比jsp表达式脚本要简洁的多;
EL表达式的格式是:${表达式}
EL表达式在输出null值的时候,输出的是空串;
jsp表达式输出null值的时候,输出的是null字符串;
一、EL表达式
EL表达式主要是输出域对象的数据;
当四个域中都有相同的key数据时候。EL表达式会按照四个域的从小到大的顺序去进行搜索,找到就输出;
EL表达式输出bean对象的某个属性
EL表达式–运算:
(1)关系运算:
关系运算符 | 说明 |
---|---|
==或eq | 等于 |
!=或ne | 不等于 |
<或lt | 小于 |
*>(忽略星号)或gt | 大于 |
<=或le | 小于等于 |
*>=(忽略星号)或ge | 大于等于 |
(2)逻辑运算
逻辑运算符 | 说明 |
---|---|
&&或and | 与运算 |
11(两竖线)或or | 或运算 |
!或not | 取反运算 |
(3)算数运算:
算数运算符 | 说明 |
---|---|
+ | 加法 |
- | 减法 |
* | 乘法 |
/或div | 除法 |
%或mod | 取模 |
(4)empty运算:
empty运算可以判断一个数据是否为空,如果为空,则输出true,反之则为false;
以下几种情况为空:
- 值为null的时候,为空;
- 值为空串的时候,为空
- 值是Object类型数组,长度为零的时候;
- list集合,元素个数为零
- map集合,元素个数为零
使用方法:
${empty 属性名}
(5)三元运算:
表达式1?表达式2:表达式3
如果表达式1的值为真,则返回表达式2的值,如果表达式1的值为假,则返回表达式3的值;
(6)点运算:
. 点运算,可以输出Bean对象中的某个属性值。
[]中括号运算,可以输出有序集合中某个元素的值;
并且[]中括号运算,还可以输出map集合中key里含有特殊字符的key的值
EL表达式的11个隐含对象:
EL表达式中11个隐含对象,是EL表达式中自己定义的,可以直接使用;
变量 | 类型 | 作用 |
---|---|---|
pageContext | PageContextImpl | 可以获取jsp中九大内置对象 |
pageScope | Map<String,Object> | 可以获取pageContext域中的数据 |
requestScope | Map<String,Object> | 可以获取request域中的数据 |
sessionScope | Map<String,OBbject> | 可以获取session域中的数据 |
applicationScope | Map<String,String> | 可以获取ServletContext域中的数据 |
param | Map<String,String> | 可以获取请求参数的值 |
paramValues | Map<String,String[]> | 可以获取请求参数的值,获取多个值的时候使用 |
header | Map<String,String> | 可以获取请求头的信息 |
headerValues | Map<String,String[]> | 可以获取请求头的信息,可以获取多个值的情况 |
cookie | Map<String,Cookie> | 可以获取当前请求的Cookie信息 |
initParam | Map<String,String> | 它可以获取在web.xml中配置的context-param上下文参数 |
二、JSTL标签库
JSTL标签库,全称是指JSP Standand Tag Library JSP标准标签库,是一个不断完善的JSP标签库,
EL表达式主要是为了替换jsp中的表达式脚本,而标签库则是为了替换代码脚本
,这样使得整个jsp页面变得更加简洁;
在jsp标签库中使用taglib指令引入标签库
core标签库
xml标签库
sql标签库
FUNCTIONS标签库
- 首先导入jsp标签的jar包
- 使用taglib指令引入(自动)
core核心库的使用:
(a)
<c:set scope="" var="" value=""/>
域对象.setAttribute(key,value)
scop属性设置保存到哪个域
page表示PageContext域(默认值)
ruquest表示Request域
session表示Session域
application表示ServletCont域
var属性设置key是多少;
value属性设置值
作用:可以向域中保存数据;
(b)
<c:if test=" ">判断成功执行语句</c:if>
test属性用来做判断的条件
无法写成else
作用:用于作if判断
(c)
<c:forEach begin=" 1" end=" 10" var=" i">
执行语句
</c:forEach>
遍历并执行语句:
begin属性设置开始的索引
end属性设置结束的索引
var属性表示循环的变量(也是当前正在遍历到的数据)
遍历object数组
items表示遍历的数据源(遍历的集合)
var表当前遍历到的数据
begin表示遍历的开始索引值
end表示结束的索引值
step属性表示遍历的步长值
varStatus属性表示当前遍历到的数据的状态
<c:forEach items=" " var=" ">
</forEach items>
如果感觉内容写的还不错的话,一键三连不迷路!!!!
后面将会更新更多学习内容,一起学习吧!!!!!!