初识EL表达式
全名为Expression Language。
基本语法: ${expression}
以上语句中,expression为有效的表达式。该表达式可以和静态文本混合,还可以与其他表达式结合成为更大的表达式。
EL的作用域对象:
一、EL 表达式内置四种 作用域对象:
二、忽略书写作用域对象时,el 则按作用域从小到大依次尝试获取;(建议还是写上,不然会降低程序效率)
1、pageScope —– 从当前页面取值;
2、requestScope —– 从当前请求中获取属性值;
3、sessionScope —— 从当前会话中获取属性值;
4、applicationScope —– 从当前应用获取全局属性值;
1 | <h1>姓名:${requestScope.student.name}</h1> |
我们可以使用EL的内置对象param来简化获取url或者请求体中的数据
语法:${param.参数名}
例如url是https://class.imooc.com/lesson/mid=17331
在Servlet中,我们用request.getParamete(“mid”)h获取
而现在可以用${param.mid}获取了
其实,${param.参数名}就是request.getParameter(“参数名”);的简化形式
安装JSTL 标签库:
1、JSTL 两种安装方式:
1)将 Jar 文件复制到工程的 /WEB - INF / lib 目录(推荐);
2)将 Jar 文件复制到 Tomcat 安装目录的lib目录;
/WEB - INF / lib 目录:用于保存所有第三方jar包;
注:J2EE只定义了标准,具体的实现是由第三方厂商决定,在javaWEB中tomcat提供的jar包,就是标准的实现,对于理解j2ee非常重要
JSTL有五个标签库
分别是:核心标签库、格式标签库、函数标签库、SQL标签库、XML标签库。
主要用前两者。
<%@ taglib uri = “http://java.sun.com/jsp/jstl/core" prefix = “c” %>
当标签库的包导入工程后,我们要引入标签库,方法:
<%@ Taglib prefix=”c” uri=”http://java.sun.com/jsp/jstl/core" %>
prefix : 前缀。 就是让写上我们引入的标签库的前缀名,因为我们引入的是core标签库,所以prefix值是c。
uri后面的网址是怎么回事?
因为我们引入的jar包中有许多.tld文件(标签定义文件),其中有个文件c.tld里面定义了我们引用的库的内容,其中,有
这样我们就可以找到它了
JSTL判断标签
1、JSTL 核心库提供了两组判断的标签;
2、<c:if> – 单分支判断;
3、<c:choose> <c:when> <c:otherwise> — 多分支判断; // 跟java 的 if else if else 差不大
JSTL遍历集合
1 | 1、<c:forEach> 标签用于遍历集合(Collection) 中的每一个对象; |
fmt格式化标签库——日期
1 | <%@page import="java.util.Date"%> |