javaweb之EL表达式和JSTL(总体第七篇)
之前已经学习到我们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类型的类型集合