El和Jstl使用知识点
- 使用传统方式在jsp中获取作用域数据
(1) 使用传统方式在jsp中获取作用域的数据有什么不方便的地方?
答: 缺陷: 1、书写比较繁琐 2、需要导包 3、需要强转
(2) 简述El表达式的作用?
答:让 jsp 书写起来更加的方便。简化在 jsp 中获取作用域或者请
求数据的写法。也会搭配 Jstl 来进行使用。
- EL表达式获取请求实体和请求头和Cookie数据
(1) 根据视频中讲解,使用EL表达式获取请求实体数据
答: ${param.键名} 获取请求实体中一个键一个值的数据
${paramValues.键名} 获取请求实体中同键不同值的数据,返回的是String数组,可以使用角标直接获取 例如:爱好
(2) 使用EL表达式获取请求头数据
答:${header} 返回所有的请求头数据,键值对形式
${header[“键名”]} 返回指定的键的请求头数据
${headerValues[“键名”]}获取请求头同键不同值的数据,但请求头没有
(3) 使用EL表达式获取Cookie数据
答:${cookie} 获取所有的Cookie对象 键值对
${cookie.Cookie对象的键名} 获取存储了指定Cookie数据的Cookie对象
${cookie.Cookie对象的键名.name} 获取存储了指定Cookie数据的Cookie对象的存储的键
${cookie.Cookie对象的键名.value}获取存储了指定Cookie数据的Cookie对象的存储的值
- EL表达式获取作用域数据
(1) 使用EL表达式获取作用域字符串数据的格式是?
答: 普通字符串数据 ${键名}
(2) 使用EL表达式获取作用域对象数据的格式是?
答:对象数据 ${键名.属性名}
(3) 使用EL表达式获取List集合和Map集合的数据的格式是?
答:list集合 ${键名[角标]} Map集合 ${map集合作用域存储的键名.map集合存储的数据的键名}
(4) 使用EL表达式获取作用域数据的查找顺序是?
答: 作用域数据查找顺序:如果找到了则不再查找,如果找不到,则继续查找下一个作用域,如果四个作用域中都没有则什么都不显示 pageContext–>request–>session–>application
(5) 使用EL表达式获取指定作用域数据的格式是?。
答: 指定作用域获取数据: ${pageScope.键名} 指明获取pageContext作用域中的数据 ${requestScope.键名} 指明获取request作用域中的数据 ${sessionScope.键名} 指明获取session作用域中的数据 ${applicationScope.键名} 指明获取application作用域中的数据
- El表达式中的运算&empty判断
(1) 视频中使用EL表达式完成逻辑运算的总结是?
答:算术运算:+,-,*,/ 在EL表达式中可以直接进行算术运算 算 术 表 达 式 例 如 : {算术表达式} 例如 : 算术表达式例如:{1+2} 注意:+表示算术运算,不能进行字符串连接
逻辑运算:&& || ! ${逻辑表达式} 注意:没有单& 和单|
比较运算:== != >,>=,<,<= ${比较表达式}
三目运算: ${条件?值:值}
(2) EL表达式的Empty的作用及其使用格式是?
答:${empty 键名} 作用: 判断该键是否有存储有效数据
- JSTL的概念和介绍和out标签
(1) 简述JSTL的作用
答:用来提升在 JSP 页面的逻辑代码的编码效率,使用标签来
替换逻辑代码的直接书写,高效,美观,整洁,易读。
(2) 使用JSTL的流程是?
答:i. 导包
ii. 使用 taglib 标签引入资源
iii. 核心标签库
iv. 格式化标签库
(3) 如何在jsp中引入jstl?
答:流程:
导入jar包
引入标签库
<%@taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>
7 out标签总结和set标签和remove标签
(1) 简述out标签的作用及其使用格式?
答;out标签:<c:out value="${表达式}" default=“默认值”></c:out>
作用:结合EL表达式将数据响应给浏览器,如果EL表达式没有取到数据则可以使用default属性声明默认值。
(2) set标签的使用格式及其作用?
答:set标签: <c:set value=“数据” var=“键名” scope=“作用域名”></c:set>
作用:将数据存储到指定的作用域中,默认是pageContext作用域
注意:
scope的值为:page request session application
(3) set标签的scope属性的值分别为?及其作用?
答:scope的值为:page request session application
(4) remove标签的使用格式及其作用是?
答:remove标签:<c:remove var=“要删除数据的键名” scope=“作用域名”/>
作用:删除作用域中的数据,默认是删除四个作用域中的符合要求的数据。
但是可以通过scope属性指明要删除的作用域数据。
- if标签学习
(1) 视频中使用remove标签的注意是?
答:注意:
使用pageContext.removeAttriute(“键名”), 此方法会将四个作用域中的符合要求的数据全部删除
使用pageContext.removeAttriute(String name,int scope)指明要删除的作用域中的数据 scope的值为 1.pageContext,2.request ,3. session,4 .application
使用request.removeAttibute(“键名”) 删除当前作用域符合要求的数据
使用session.removeAttibute(“键名”)删除当前作用域符合要求的数据
使用application.removeAttibute(“键名”)删除当前作用域符合要求的数据
(2) if标签的使用格式及其作用是。
答:单分支判断标签:<c:if test="${表达式}">数据</c:if>
作用:可以根据el表达式进行一定程度的单分支逻辑判断
(3) 使用if标签的注意事项是什么?。
答:test属性中书写的是EL表达式,或者说是EL表达式的逻辑表达式。
该标签只能进行EL表达式相关的逻辑判断。不能进行EL表达式不能获取的数据的逻辑处理
- 多分支choose标签学习
(1) 视频中choose标签的使用基本格式及其作用是?。
答:多分支判断标签:
<c:choose>
<c:when test="${表达式}"></c:when>
<c:when test="${表达式}"></c:when>
<c:otherwise></c:otherwise>
</c:choose>
(2) 使用choose标签的注意事项是?
答:注意:
符合条件后只会执行一个分支,其他分支不会执行。
- 循环标签普通循环学习
(1) 循环标签的begin和end属性的作用是?。
答:begin:声明循环的开始位置
end:声明循环的结束位置
(2) 循环标签的step属性和varStatues属性的作用是?
答;step:声明循环的步长
varStatus:声明变量记录循环状态 ,例如变量名:i
(3) varStatus属性获取循环状态的内容都有哪些及其作用是什么?
答: ${i.index} 获取当次循环的下标
${i.count} 获取当次循环的次数
${i.first} 判断是否是第一次循环
${i.last} 判断是否是最后一次循环
- 循环标签遍历集合学习
(1) 循环标签的item和var属性的作用是?。
答:items:声明要遍历的数据,可以是集合和数组等
注意:要使用EL表达式来获取
var:声明变量记录每次遍历的结果。可以做循环体中使用使用EL表达式获取遍历出来的数据