不用根据改变SQL的形式去查询; 直接查询所有的数据,根据页码自动显示数据;
分页对象
public class PageUtils implements Serializable {
/**
*
*/
private static final long serialVersionUID = -
5247614532234782640L;
public final static String PAGE =
"page";
public final static String PAGE_NO =
"pageno";
public final static String PAGE_SIZE =
"pagesize";
private long pageSize=
10;
private long firstResult=
0;
private long totalCount;
private long totalPage;
private long pageNo=
1;
private List<?> sumData;
private List<?> data;
public long getPageSize() {
return pageSize;
}
public void setPageSize(
long pageSize) {
this.pageSize = pageSize;
}
public long getFirstResult() {
if(pageNo>
0){
firstResult=pageSize * (pageNo -
1);
}
else{
firstResult =
0;
}
return firstResult;
}
public long getNextPageResult(){
if(pageNo>
0){
return pageSize*(pageNo-
1);
}
else{
return pageNo;
}
}
public void setFirstResult(
long firstResult) {
this.firstResult = firstResult;
}
public long getTotalCount() {
return totalCount;
}
public void setTotalCount(
long totalCount) {
this.totalCount = totalCount;
totalPage =
this.totalCount/pageSize;
if (totalPage ==
0 || totalCount % pageSize !=
0) {
totalPage++;
}
}
public long getTotalPage() {
return totalPage;
}
public void setTotalPage(
long totalPage) {
this.totalPage = totalPage;
}
public long getPageNo() {
return pageNo;
}
public void setPageNo(
long pageNo) {
this.pageNo = pageNo;
}
public List<?>
getData() {
return data;
}
public void setData(List<?> data) {
this.data = data;
}
/**
* 是否第一页
*/
public boolean isFirstPage() {
return pageNo <=
1;
}
/**
* 是否最后一页
*/
public boolean isLastPage() {
return pageNo >= getTotalPage();
}
/**
* 下一页页码
*/
public long getNextPage() {
if (isLastPage()) {
return pageNo;
}
else {
return pageNo +
1;
}
}
/**
* 上一页页码
*/
public long getPrePage() {
if (isFirstPage()) {
return pageNo;
}
else {
return pageNo -
1;
}
}
public PageUtils(){}
public PageUtils(
long pageNo){
this.pageNo=pageNo;
}
public PageUtils(
long pageNo,
long pageSize){
this.pageNo=pageNo;
this.pageSize = pageSize;
}
public List<?>
getSumData() {
return sumData;
}
public void setSumData(List<?> sumData) {
this.sumData = sumData;
}
}
查询的数据实体
在查询的实体里添加页码和每页显示条数参数;
private int pageSize;
private int pageNo;
public int getPageSize() {
return pageSize;
}
public void setPageSize(
int pageSize) {
this.pageSize = pageSize;
}
控制层Controller
@RequestMapping(
"/list")
public String
list(Model model,ChannelValueInfoView input) {
PageUtils page=
new PageUtils();
if(input.getPageSize()==
0){
input.setPageNo(
1);
input.setPageSize(
10);
}
page.setPageNo(input.getPageNo());
page.setPageSize(input.getPageSize());
PageHelper p=
new PageHelper();
Page<ChannelValueInfoList> l=p.startPage(input.getPageNo(),input.getPageSize());
channelValueService.getChannelValueInfoViewList(input);
model.addAttribute(
"input", input);
page.setData(l);
page.setTotalCount(l.getTotal());
model.addAttribute(
"page", page);
return "index";
}
页面处理
//循环穿过来的PAGE.data数据
<tr th:each="ts : ${page.data}">
<td th:text="${ts.channelValueName}"></td>
----------
<form id="content_form" action="/channelValue/list" method="post" >
<div>
总数:
<span id="totalCount" th:text="${page.totalCount}">0
</span>
</div>
<ul class="pagination">
<li class="disabled">
<a href="#" onclick="onFirst()">首页
</a>
</li>
<li class="disabled">
<a href="#" onclick="onPre()"><
</a>
</li>
<li class="active">
<a href="#" >
<span id="beginRow" th:text="${page.pageNo}">0
</span>
</a>
</li>
<li class="disabled">
<a href="#" onclick="onNext()">>
</a>
</li>
<li class="disabled">
<a href="#" onclick="onLast()">尾页
</a>
</li>
</ul>
</for m>
----------
<script>
function onFirst() {
onList(1);
}
function onPre() {
var beginRow = parseInt($('#beginRow').html());
if (beginRow - 1 > 0) {
onList(beginRow - 1);
}
}
function onNext() {
var beginRow = parseInt($('#beginRow').html());
var totalCount = parseInt($('#totalCount').html());
var pageSize = parseInt($('#pageSize').val());
if (parseInt(totalCount / pageSize + 1) > beginRow + 1) {
onList(beginRow+1);
}
}
function onLast() {
var totalCount = parseInt($('#totalCount').html());
var pageSize = parseInt($('#pageSize').val());
onList(parseInt(totalCount / pageSize + 1) - 1);
}
function onList(pageNo) {
if (pageNo == 0)
pageNo = 1;
$('#pageNo').val(pageNo);
$("#content_form").submit();
}
</script>