EL/JSTL
1.什么是EL
2.EL使用
3.什么是JSTL
4.JSTL常用
0
1
什么是EL表达式
什么是EL表达式
EL(Express Lanuage)表达式可以嵌入在jsp页面内部减少jsp脚本的编写,EL出现的目的是要替代jsp页面中脚本的编写。${EL表达式}
主要用途
pageContext | ${pageScope.key}; |
---|---|
request | ${requestScope.key} |
session | ${sessionScope.key} |
application | ${applicationScope.key} |
简写
EL从四个域中获得某个值${key}
这样写没有指明域,就会按一定顺序到每个域当中去找找到第一个为止(依次从pageContext域,request域,session域,application域)
0
2
EL内置对象
pageScope | 获取JSP中pageScope域中的数据 |
---|---|
requestScope | 获取JSP中requestScope域中的数据 |
sessionScope | 获取JSP中sessionScope域中的数据 |
applicationScope | 获取JSP中applicationScope域中的数据 |
param | request.getParameter() |
paramValues | rquest.getParameterValues() |
headerValues | request.getHeaderValues() |
initParam | this.getServletContext().getInitParameter(name) |
cookie | request.getCookies()---cookie.getName()---cookie.getValue() |
pageContext | pageContext可获取其他八大对像 |
header | request.getHeader(name) |
0
3
什么是JSTL
什么是JSTL
JSTL(JSP Standard Tag Library),JSP标准标签库可以嵌入在jsp页面中使用标签的形式完成业务逻辑等功能JSTL出现的目的同EL一样也是要代替jsp页面中的脚本代码
引入标签库
JSTL的使用的标签库需要引用才能使用
JSTL标准标签库有5个子库
库名 | 地址 | 前缀 |
---|---|---|
Core:核心库 | http://java.sun.com/jsp/jstl/core | c |
I18N:国际化库 | http://java.sun.com/jsp/jstl/fmt | fmt |
SQL | http://java.sun.com/jsp/jstl/sql | sql |
XML | http://java.sun.com/jsp/jstl/xml | x |
Functions | http://java.sun.com/jsp/jstl/functions | fn |
把JSTL标签库jar包引入工程当中
引入标签库
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
0
4
JSTL常用
if标签
<c:if test="布尔表达式">
<p>true<p>
</c:f>
//当布尔表达式为正的时候才显示里面的标签
//结合EL表达式
<c:if test="${empty user}">
<p>true<p>
</c:f>
forEach标签
普通循环
//从0-5循环,定义的值其实是存在pageContext域
<c:forEach begin="0" end="5" var="i">
${i}
</c:forEach>
增加for循环
<%
List<String> list = new ArrayList<>();
list.add("aa");
list.add("bb");
list.add("cc");
session.setAttribute("list",list);
%>
// 遍历里面的元素
<c:forEach items="${list}" var="i">
${i}
</c:forEach>