第93次(EL)
学习主题:EL
学习目标:
1 掌握 EL表达式基本语法
2 掌握EL表达式获取作用域数据
3 掌握EL表达式的判断 例如为空判断 相等判断 不等判断
1. 使用传统方式在jsp中获取作用域数据
(1) 使用传统方式在jsp中获取作用域的数据有什么不方便的地方?
1. 书写比较繁琐
2. 需要导包
3. 需要强转
2. 表达式的概念介绍和基本语法
(1) 在jsp中使用脚本段语句获取作用域中的数据的缺陷是?
1. 获取的数据是对象类型,需要进行强转。
2. 如果数据不存在会返回null值,需要进行判断。
3. 书写麻烦容易出错。
(2) 简述El表达式的作用?
让jsp书写起来更加的方便。简化在jsp中获取作用域或者请求数据的写法。也会搭配jstl来进行使用。EL表达式的使用:1、获取请求数据。2、获取作用域数据。3、进行逻辑运算。4、empty判断。
3. EL表达式获取请求实体和请求头和Cookie数据
(1) 使用EL表达式获取请求实体数据
${param.键名} 获取请求实体中一个键一个值的数据
${paramValues.键名} 获取请求实体中同键不同值的数据,返回的是String数组,可以使用角标直接获取。
(2) 使用EL表达式获取请求头数据
${header} 返回所有的请求头数据,键值对形式
${header["键名"]} 返回指定的键的请求头数据
${headerValues["键名"]}
(3) 使用EL表达式获取Cookie数据
${cookie} 获取所有的Cooike对象键值对
${cookie.Cookie对象的键名} 获取存储了指定Cookie数据的Cookie对象
${cookie.Cookie对象的键名.name} 获取存储了指定Cookie数据的Cookie对象中存储的键。
${cookie.Cookie对象的键名.value}获取存储了指定Cookie数据的Cookie对象中存储的值。
4. EL表达式获取作用域数据
(1) 使用EL表达式获取作用域字符串数据的格式是?
${键名}
(2) 使用EL表达式获取作用域对象数据的格式是?
${键名.属性名}
(3) 使用EL表达式获取List集合和Map集合的数据的格式是?
${键名[角标]}、${map集合作用域中存储的键名.map集合存储的数据的键名}
(4) 使用EL表达式获取作用域数据的查找顺序是?
pageContext、request、session、application
(5) 使用EL表达式获取指定作用域数据的格式是?
${pageScope.键名} 指明获取pageContext作用域中的数据
${requestScope.键名} 指明获取request作用域中的数据
${sessionScope.键名} 指明获取session作用域中的数据
${applicationScope.键名} 指明获取application作用域中的数据
5. El表达式中的运算&empty判断
(1) 使用EL表达式完成逻辑运算?
![fa35852d9a5ae8e792d7b0e66a20305d.png](https://i-blog.csdnimg.cn/blog_migrate/132ea8ba9899c1ffc3969c004cc6a534.jpeg)
(2) EL表达式的Empty的作用及其使用格式是?
![20ba8289ae21002c1e444597198ed0d5.png](https://i-blog.csdnimg.cn/blog_migrate/97cfaef222540652cba2f4f81a5a373b.jpeg)
第94次(JSTL)
学习主题:JSTL
学习目标:
1 掌握JSTL常用标签
2 掌握为什么需要使用JSTL以及使用JSTL的步骤
8. JSTL的概念和介绍和out标签
(1) 简述JSTL的作用
在jsp页面中使用jstl可以非常方便的进行数据的处理。较于使用java代码块,更加的简单,代码更加的简洁易读。
(2) 使用JSTL的流程是?
1、导入jar包
2、引入标签库
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
(3) 如何在jsp中引入jstl?
添加代码
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
9. out标签总结和set标签和remove标签
(1) 简述out标签的作用及其使用格式?
结合el表达式将数据响应给浏览器,如果el表达式没有取到数据则可以使用default属性声明默认值。
(2) set标签的使用格式及其作用?
将数据存储到指定的作用域中,默认是pageContext
(3) set标签的scope属性的值分别为?及其作用?
scope的值为: page request session application。
为要存储的数据指定作用域。
(4) remove标签的使用格式及其作用是?
删除作用域中的数据,默认是删除四个作用域中的符合要求的数据。
10. if标签学习
(1) 使用remove标签的注意是?
remove中的scope属性指定要删除的作用域数据。而pageContext.removeAttribute("键名")会将四个作用域中的符号要求的数据全部删除。
(2) if标签的使用格式及其作用是。
<c:if test="${表达式}">数据</c:if>
可以根据EL表达式进行一定程度的单分支逻辑判断
(3) 使用if标签的注意事项是什么?。
1、test属性中书写的是EL表达式,或者说是EL表达式的逻辑表达式。
2、该标签只能进行EL表达式相关的逻辑判断。不能进行EL表达式不能获取的数据的逻辑处理。
11. 多分支choose标签学习
(1) choose标签的使用基本格式及其作用是?。
<c:choose>
<c:when test="${表达式}"></c:when>
<c:when test="${表达式}"></c:when>
..
<c:otherwise></c:otherwise>
</c:choose>
在众多选项中做出选择。
(2) 使用choose标签的注意事项是?
符合条件后只会执行一个分支,其他分支不会执行。
12. 循环标签普通循环学习
(1) 循环标签的begin和end属性的作用是?。
指定循环开始和结束的下标。
(2) 循环标签的step属性和varStatues属性的作用是?
step用于指定步长,也就是每循环一次下标的增量。varStatues属性保存每一次循环的状态。
(3) varStatus属性获取循环状态的内容都有哪些及其作用是什么?
index:获取当次循环的下标
count:获取当次是第几次循环
first:判断是否是第一次循环
last:判断是否是最后一次循环
13. 循环标签遍历集合学习
(1) 循环标签的item和var属性的作用是?。
items 声明要遍历的数据,可以是集合、数组等
var 声明变量记录每次遍历的结果,可以在循环体中使用EL表达式获取遍历出来的数据。