JSTL
1. 概念
JavaServer Pages Tag Library JSP标准标签库
- 是由Apache组织提供的免费的开源的免费的 jsp 标签
2. 作用
- 用于简化和替换 jsp 页面上的 java 代码
3. 使用步骤
- 导入 jstl 相关 jar 包
- 引入标签库:taglib 指令:<%@ taglib %>
- 使用标签
4. 常用的 JSTL 标签
- if :相当于java中的 if
- 属性:
- test 必需属性,接收 boolean 表达式
- 如果表达式为 true, 则显示 if 标签体内容,如果为 false,则不显示标签体内容
- 一般情况下,test 属性值会结合 el 表达式一起使用
- test 必需属性,接收 boolean 表达式
- 注意:
- c : if 标签没有 else 情况,想要 else 情况,则可以再定义一个 c : if 标签
- 属性:
- choose:相当于java中的 switch
- 使用 choose 标签声明 相当于 switch 声明
- 使用 when 标签判断 相当于 case
- 使用 otherwise 标签做其他情况的声明 相当于default
- foreach:相当于java中的 for
5. 练习:
需求:在 request 域中有一个存有 User 对象的 List 集合。需要使用 jstl + el 将 list 集合数据展示到 jsp 页面的表格 table 中
<%@ page import="java.sql.Array" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.List" %>
<%@ page import="Domian.User" %>
<%@ page import="java.util.Date" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>test</title>
</head>
<body>
<%
List list = new ArrayList();
list.add(new User("张三", 23, new Date()));
list.add(new User("李四", 25, new Date()));
list.add(new User("王五", 26, new Date()));
request.setAttribute("list", list);
%>
<table border="1", width="500", align="center">
<tr>
<th>编号</th>
<th>姓名</th>
<th>年龄</th>
<th>生日</th>
</tr>
<%--数据行--%>
<c:forEach items="${list}" var="user" varStatus="s">
<c:if test="${s.count % 2 == 0}">
<tr bgcolor="red">
<td>${s.count}</td>
<td>${user.name}</td>
<td>${user.age}</td>
<td>${user.getBitStr()}</td>
</tr>
</c:if>
<c:if test="${s.count % 2 != 0}">
<tr bgcolor="pink">
<td>${s.count}</td>
<td>${user.name}</td>
<td>${user.age}</td>
<td>${user.getBitStr()}</td>
</tr>
</c:if>
</c:forEach>
</table>
</body>
</html>