目录
jspl介绍
标签库(JSP standard Tag) 简称jspl
导包
使用前需要导入两个包到lib下(就是复制粘贴):
- Standard.jar
- jstl.jar
引入标签库
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
变量
page范围有效的变量
//设置临时变量
<c:set var="temp" value="我是变量"></c:set>
方法1:
//使用el表达式获取临时变量的值
//作用域:默认page范围有效 等价于${pageScope.temp}
${temp}
方法2:
<c:out value="${temp}"></c:out>
session范围有效的变量
//设置临时变量
<c:set var="temp" value="我是变量" scrop=“session”>
</c:set>
//使用el表达式获取临时变量的值
//等价于${sessionScope.temp}
${temp}
当临时变量为空时,输出默认值
<c:set var="name" value="null"></c:set>
<c:out value="${name}" defaul="我是默认值">
设置输出值值得颜色
excapXml默认是true,表示不解析xml文件
<c:set var="name" value="< font color='red'>我要红色</font>"></c:set>
<c:out value="${name}" escapeXml="false">
删除变量
<c:remove var="temp">
给对象赋值
//创建对象
<jsp:useBean id="u" class="com.demo.po.User" scope="page">
</jsp:useBean>
//给对象赋值
//target存放对象 property:属性 value:值
<c:set target="${pageScope.u property="userName" value="小妹"}"></c:set>
//取值
${u.userName}
//输出变量的值
if判断
<c:set var="age" value=30></c:set>
<c:if test="${age>20}">
<h1>我${age}岁了,成年了<h1>
</c:if>
多条件判断
<c:set var="age" value=30></c:set>
<c:choose>
<c:when test"${age<18}"> <h1>未成年<h1> </c:when>
<c:when test"${age>=18&&age<=35}"> <h1>成年<h1> </c:when>
<c:when test"${age>35&&age<=60}"> <h1>中年<h1> </c:when>
</c:choose>
<c:forEach>循环
属性:
- begin 从那条数据开始查询
- end 从那条数据结束
- step 每次像个几个数据查询
- varStatus 变量的状态
<c:forEach items="${users}" var="user" begin="2" end="5" step="2">
${user.name}
${user.phont}
${user.address}
</c:forEach>
如图:
- s.count 显示序号
- s.index:数据下标
- s.first 是否是第一条数据,是为true,假返回false
- s.last 是否是最后一条数据 返回true/false
列:list数据取值
从servlet中传入多个数据,在jsp页面中取值
selvet代码:
public class BookQueryAllServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private BookService bs=new BookServiceImpl();
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
List<Book> books=bs.queryAllBook();
request.setAttribute("books", books);//查询数据
request.getRequestDispatcher("booklist.jsp").forward(request, response);
}
}
booklist.jsp界面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>图书列表</title>
</head>
<body>
<table border="1">
<tr>
<td>序号</td>
<td>书名</td>
<td>作者</td>
<td>价格</td>
<td>数量</td>
<td>时间</td>
<td>修改</td>
<td>删除</td>
</tr>
//${requestScop.pobooks }等价于${"pobooks"}
// <c:forEach items="${requestScop.pobooks }" var="book" varStatus="s">
<c:forEach items="${requestScop.pobooks }" var="book" varStatus="s">
<tr>
<td>${s.count}</td>
<td>${book.bookName }</td>
<td>${book.bookAuthor }</td>
<td>${book.bookPrice }</td>
<td>${book.bookNum }</td>
<td>${book.bookDate}</td>
<td><a href="edit.do?id=${book.id}">修改</a></td>
<td><a href="delete.do?id=${book.id}">删除</a></td>
</tr>
</c:forEach>
</table>
</body>
</html>
列:map数据取值
servlet代码:
jsp代码
url地址
重定向
<c:redirect url="http://www.baidu.com"></c:redirect>