之前已经学习到我们Javaweb之Servlet,本文也是总体复习笔记的第七篇,有需要的朋友可以参考我主页的javaweb目录,参考其他笔记
一、EL语法学习
1、介绍搭建实验环境
(1)什么是EL表达式
- EL表达式的全称是:Expression Language 表达式语言
- EL表达式作用:EL表达式主要是代替jsp页面中的表达式脚本jsp页面进行数据的输出,因为jsp输出数据很臃肿。
(2)看例子演示
- EL:格式是${表达式}
- EL表达式在输出null的时候,也比较智能。
2、EL表达式搜索域数据的顺序
EL 表达式主要是在 jsp 页面中输出数据。主要是输出域对象中的数据。当四个域中都有相同的 key 的数据的时候,EL 表达式会按照四个域的从小到大的顺序去进行搜索,找到就输出。
3、EL表达式输出对象(Bean)的普通属性,数组属性,List集合属性,map集合属性
4、EL表达式-----运算
整体语法:${运算表达式},EL 表达式支持如下运算符
(1)关系运算
- 或eq:等于,${aa} 或者${a eq a}
- != 或ne:不等于
- < 或lt:小于
-
或gt :大于
- <= 或le:小于等于
-
= 或ge:大于等于
(2)逻辑运算
- && 或 and :与运算
- || 或 or:或运算
- ! 或 not:取反运算
(3)算数运算
- +:加法运算
- -:减法运算
- *:乘法运算
- /或div:除法运算
- %或mod:取模运算
(4)empty运算
empty 运算可以判断一个数据是否为空,如果为空,则输出 true,不为空输出 false。
(5)三元运算
这个和java里面的一样的
表达式1?表达式2:表达式3
1真返回2,1假返回3
(6)“.”点运算和[]中括号运算符
- .点运算,可以输出Bean对象中某个属性
- []中括号运算,可以输出有序集合中某个元素的值,并且中括号运算,可以输出map集合汇中key里含有特殊字符的key的值
5、EL表达式的11个隐含对象
(1)EL获取四个特定域中的属性
- pageScope:pageContext域
- requestScope:Request域
- sessionScope:session域
- applicationScope:ServletContext域
- 选择性的输出
(2)pageContext对象的使用
(3)EL表达式其他隐含对象的使用
- 获取属性
- 获取请求头信息
- 获取cookie信息
- 获取web.xml中的配置
二、JSTL标签库
1、什么是JSTL
-
JSTL 标签库 全称是指 JSP Standard Tag Library JSP 标准标签库。是一个不断完善的开放源代码的 JSP 标
签库。 -
EL 表达式主要是为了替换 jsp 中的表达式脚本,而标签库则是为了替换代码脚本。这样使得整个 jsp 页面
变得更佳简洁。 -
JSTL由五个不同功能的标签库组成
2、在JSP标签库中使用taglib指令引入标签库
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
XML 标签库
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
FMT 标签库
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
SQL 标签库
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
FUNCTIONS 标签库
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %
3、使用JSTL标签库的使用步骤
-
首先肯定是导入jar包
-
然后引入核心库
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
4、Core核心库使用
经过步骤三才可以进行如下
(1)<c:set>标签
- 可以设置保存到哪个域
保存之前:${ sessionScope.abc } <br>
<c:set scope="session" var="abc" value="abcValue"/>
保存之后:${ sessionScope.abc } <br>
- 这里修改一下,改变一下位置,再添加到项目模块
(2)<c:if/>
(3)<c:choose><c:when><c:otherwise>标签
作用:多路判断,根switch…case…default
(4)遍历1到10
- 遍历类型数组
- 遍历map集合
- 遍历list类型的类型集合