赞
踩
记录分页的一种实例解决方案:
项目背景:书籍后台管理系统
项目数据库:mysql
项目框架:spring、spring-mvc、mybatis
开发模式:三层架构(controller层、service层、dao层)
一、准备工作-dto类
1.接收内容的实体类-Sold.java:
```
package com.bookstore.dto;
import java.util.Date;
public class Sold {
private int userid;
private int bookid;
private String uname;
private String bname;
private int number = 1;
private Date time;
private Date beginDate;//联合查询的开始时间
private Date endDate;//联合查询的结束时间
private int startPage;//翻页时的开始内容位置
private int endPage;//翻页时的结束内容位置
private double price;
private double allprice;
private String author;
private String press;
}
```
//注:此实体类仅写出参数(其他有参无参自己脑补下就好了ー( ̄~ ̄)ξ)
2.翻页用的实体类-Paging.java:
```
package com.bookstore.dto;
public class Paging {
//也可以将此类参数定义为private
public int currentPage = 1;//当前页
public int rowsPage = 10;//每页显示数
public int allCount;//总记录数
public int maxPage;//总页数
//这是一个根据前台页面传递过来的页面数计算显示内容起始位置的方法
public void getPage(int currentPage,Sold sold){
int start = (currentPage - 1)*rowsPage;
sold.setStartPage(start);
sold.setEndPage(rowsPage);
System.out.println("起始页:"+start);
}
}
```
二、jsp页面的主要内容
注:jsp添加了此头文件以获取当前页面地址
```
<%
//获取当前系统路径
String path = request.getContextPath();
// 获取当前协议名(默认http) 获取浏览器显示的主机名 获取服务器端口号
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()+ path + "/";
%>
```
1、联合模糊查询模块:
```
<tr>
<td>
<form action="<%=basePath %>manager/selectSold.action" method="post">
<table style="font-size: 16px;">
<tr>
<td align=left>用户名</td>
<td><input type="text" name="uname" value="${uname}"/></td>
</tr>
<tr>
<td align=left>开始日期 </td>
<td>
<input type="text" name="beginDate" value="${beginDate}"/>
</td>
<td align=left>结束日期 </td>
<td>
<input type="text" name="endDate" value="${endDate}"/></td>
<td><input type=submit value="查询"/></td>
</tr>
</table>
</form>
</td>
</tr>
```
2.内容显示模块与翻页:
```
<table border="1" width=100%>
<tr>
<td>用户名</td>
<td>书名--购买数量(本)</td>
<td>书单价</td>
<td>出版社</td>
<td>作者</td>
<td>购买日期</td>
<td>总付款</td>
</tr>
<c:forEach var="br" items="${records}">
<tr>
<td>${br.uname}</td>
<td>${br.bname}--${br.number}</td>
<td>${br.price}</td>
<td>${br.press}</td>
<td>${br.author}</td>
<td>${br.time}</td>
<td>${br.allprice}</td>
</tr>
</c:forEach>
<tr>
<td>
<table id="tblTurnPage">
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。