【jsp】列表分页器
<table cellspacing="0" class="booklist"> <tr> <c:forEach items="${pageResult.list}" var="product"> <td> <div class="divbookpic"> <p> <a href="product_info.jsp"><img src="bookcover/101.jpg" width="115" height="129" border="0" /> </a> </p> </div> <div class="divlisttitle"> <a href="product_info.jsp">书名:${product.name}<br />售价:${product.price} </a> </div></td> <td> </c:forEach> </tr> </table>
<c:if test="${pageResult.currentPage == 1}"> <li class="disablepage">上一页 <<</li> </c:if> <c:if test="${pageResult.currentPage != 1}"> <li> <a href="${pageContext.request.contextPath}/showProductByPage?category=${category}&page=${pageResult.currentPage-1}">上一页 <<</a> </li> </c:if> <c:forEach begin="1" end="${pageResult.pageCount}" var="i"> <li> <a href="${pageContext.request.contextPath}/showProductByPage?category=${category}&page=${i}">${i}</a> </li> </c:forEach> <c:if test="${pageResult.pageCount == pageResult.currentPage}"> <li class="disablepage">下一页>></li> </c:if> <c:if test="${pageResult.pageCount != pageResult.currentPage}"> <li> <a href="${pageContext.request.contextPath}/showProductByPage?category=${category}&page=${pageResult.currentPage+1}">下一页>></a> </li> </c:if>
package com.exp.web.servlet; import com.exp.bookstore.model.PageResult; import com.exp.bookstore.model.Product; import com.exp.bookstore.service.ProductService; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @WebServlet("/showProductByPage") public class ShowProductByPageServlet extends HttpServlet{ @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String pageStr = request.getParameter("page"); String pageSizeStr = request.getParameter("pageSize"); String category = request.getParameter("category"); int page = 1; int pageSize = 5; if(pageStr != null && !"".equals(pageStr)){ //把字符串转成int page = Integer.parseInt(pageStr); }if(pageSizeStr != null && !"".equals(pageSizeStr)){ //把字符串转成int pageSize = Integer.parseInt(pageSizeStr); } ProductService ps = new ProductService(); PageResult<Product> pr = ps.findBooks(category,page,pageSize); //存在request 里 System.out.println(pr.getList()); request.getSession().setAttribute("pageResult",pr); request.setAttribute("category",category); //跳转页面 request.getRequestDispatcher("/product_list.jsp").forward(request,response); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?