EL表达式
格式: ${EL表达式的内容}
-
EL表达式的作用:
从域对象中查找指定的数据。
内置对象使用
执行运算符 -
从域中获取数据
EL获得pageContext域中的值: ${pageScope.key};
EL获得request域中的值: ${requestScope.key};
EL获得session域中的值: ${sessionScope.key};
EL获得application域中的值: ${applicationScope.key}; -
EL表达式获取作用域数据的查找顺序
pagecontext>request> session>application -
El表达式中的运算&empty判断
(1) 视频中使用EL表达式完成逻辑运算的总结
算术运算:+,-,*,/,在el表达式直接进行运算
+表示算术运算,不能进行字符串拼接。例如 1 + ” 5 ” 正 确 结 果 为 6 不 是 15 如 果 字 符 串 不 能 转 换 会 报 错 , 例 如 写 {1+”5”}正确结果为6不是15 如果字符串不能转换会报错,例如写 1+”5”正确结果为6不是15如果字符串不能转换会报错,例如写{1+“a”},a不能转换,报错
逻辑运算:&& || !
没有单&和单|
比较运算:==,!= >,< ,>=,<=
三目运算:${3>4?1:2}
(2) EL表达式的Empty的作用及其使用格式
判断该键是否存储有效数据
${empty str}
JSTL
- JSTL的概念和介绍
(1) JSTL的作用
提升页面逻辑代码的编码效率
(2) 使用JSTL的流程
导入jar包,引入核心标签库
(3) 在jsp中引入jstl核心标签库
<%@taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core”%> - out标签总结和set标签和remove标签
(1) out标签的作用及其使用格式
响应数据给浏览器<c:out value=”${str}”></c:out>
(2) set标签的使用格式及其作用
<c:set value=”数据” var=”键名” scope=”作用域名”></c:set>
作用;将数据存储到指定的作用域中,默认是pageContext
(3) set标签的scope属性的值及其作用
分别为:page,request,session,application
是作用域,用于存储数据
(4) remove标签的使用格式及其作用
<c:remove var=”要删除的数据的键名” scope=”作用域名”></c:remove>
默认删除四个作用域中符合要求的数据,但是可以通过scope指明要删除的作用域中的数据 - if标签学习
(1) 使用remove标签的注意
remove默认删除四个作用域中符合要求的数据
(2) if标签的使用格式及其作用
<c:if test=”${a>5}”>数据</c:if>
单分支判断
(3) 使用if标签的注意事项
test属性中书写的是el表达式,或者说是el表达式的逻辑表达式,该标签只能进行el表达式相关的逻辑判断,不能进行el表达不能获取的数据进行判断 - 多分支choose标签学习
(1) choose标签的使用基本格式及其作用
<c:choose>
<c:when test=“${a>4}”>数据</c:when>
...
<c:otherwise>数据</c:otherwise>
</c:choose>
(2) 使用choose标签的注意事项
符合条件后只会执行一个分支
- 循环标签普通循环学习
(1) 循环标签的格式以及begin和end属性的作用
<c:foreach begin=”1” end=”10”>
数据...
</c:foreach>
Begin:循环开始条件
End:循环结束条件
(2) 循环标签的step属性和varStatues属性的作用是?
Step:步长
VarStatus:记录当前循环的状态
(3) varStatus属性获取循环状态的内容及其作用
varStatus:将当前循环的状态保存到作用域中,直接使用el表达式获取;例如:
${i.index},${i.count},${i.first},${i.last}等等
- 循环标签遍历集合学习
(1) 动态循环标签的格式
<c:foreach item=”list” var=”s”>
${s}
</c:foreach>
(2) 循环标签的item和var属性的作用
Item:声明要遍历的数据,可以是集合和数组等
注意:要使用el表达式来获取
Var:声明变量,记录每次遍历的结果
(3) Map集合如何进行遍历
<c:foreach item=”map” var=”s”>
${s.key}---${s.value n}
</c:foreach>