ssm整合之四 分页
生活随笔
收集整理的這篇文章主要介紹了
ssm整合之四 分页
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
package com.util;import java.util.List;/**
類名:PageData.java
創建人: zh
修改人:
完成功能:分頁返回用
*/
public class PageData{//列表private List list;//行數private int count;public PageData(){}public <T> PageData(int count,List<T> list){this.count=count;this.list=list;}public List getList() {return list;}public void setList(List list) {this.list = list;}public int getCount() {return count;}public void setCount(int count) {this.count = count;}}
package com.util;import java.io.UnsupportedEncodingException;
import java.util.Enumeration;import javax.servlet.http.HttpServletRequest;public class PageUtil {private int recordCount,pageSize,pageNo;//總數量 每頁顯示數量 頁數private int pageCount=0;//總頁數private String pageString,css="", url="";/*** 構造方法,初始化其他參數* @param pageSize* @param pageNo* @param recordCount* @param request*/public PageUtil(int pageSize,int pageNo,int recordCount,HttpServletRequest request){this.pageNo=pageNo;this.recordCount=recordCount;if(this.recordCount<0)this.recordCount=0;this.pageSize=pageSize;//鏈接地址this.url=request.getRequestURI()+"?";Enumeration pNames=request.getParameterNames(); while(pNames.hasMoreElements()){ String name=(String)pNames.nextElement();if( name.equalsIgnoreCase("pageNo")==false ){if(url.charAt(url.length()-1)=='?')url+=name+"="+request.getParameter(name);elseurl+="&"+name+"="+request.getParameter(name);}}if(url.charAt(url.length()-1)!='?'){url+="&";}}/*** 計算拼接分頁字符串* @return*/public String getPageString(){if(recordCount%pageSize==0){pageCount=recordCount/pageSize;}else{pageCount=recordCount/pageSize+1;}//當前頁if(pageNo<1){pageNo=1;}//尾頁if(pageNo>pageCount){pageNo=pageCount;}//上頁和首頁if (pageNo>1){pageString="<a href='"+url+"pageNo=1'><font class='"+css+"'>首頁</font></a>?";pageString+="<a href='"+url+"pageNo="+(pageNo-1)+"'><font class='"+css+"'>上頁</font></a>?";}else{pageString="<font class='"+css+"'>首頁</font>?";pageString+="<font class='"+css+"'>上頁</font>?";}pageString+="<font color=red>"+pageNo+"</font>?";//下頁和尾頁if(pageNo<pageCount){pageString+="<a href='"+url+"pageNo="+(pageNo+1)+"' class='"+css+"'>下頁</a>?";pageString+="<a href='"+url+"pageNo="+pageCount+"' class='"+css+"'>尾頁</a>?";}else{pageString+="<font class='"+css+"'>下頁</font>?";pageString+="<font class='"+css+"'>尾頁</font>";}//跳轉頁pageString+="??轉到第<select id=pageNo onchange=\"window.location.href='"+url+"pageNo='+this.value\">";;for(int i=1;i<=this.pageCount;i++) {if( pageNo==i) {pageString+="<option value="+i+" selected>"+i+"</option>";} else {pageString+="<option value="+i+">"+i+"</option>";}}pageString+="</select>頁";return "<div align=center class="+css+">共"+pageCount+"頁,"+recordCount+"條記錄??"+pageString+"</div>"; }public void setPageNo(int pageNo) {this.pageNo=pageNo;}public void setCss(String css) {this.css=css;}public void setUrl(String url) {this.url=url;}public static void main(String[] args) {System.out.println("abc".charAt("abc".length()-1));}
}
Enumeration pNames=request.getParameterNames(); while(pNames.hasMoreElements()){ String name=(String)pNames.nextElement();if( name.equalsIgnoreCase("pageNo")==false ){if(url.charAt(url.length()-1)=='?')url+=name+"="+request.getParameter(name);elseurl+="&"+name+"="+request.getParameter(name);}}if(url.charAt(url.length()-1)!='?'){url+="&";}
代碼的作用詳細說明如下:
如果去掉上面的一段枚舉解析url的代碼,點擊下頁會回到查詢全部數據的情況。
正常帶查詢的墳塋應該是如下狀態
?
總結
以上是生活随笔為你收集整理的ssm整合之四 分页的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实训课俄罗斯方块之二授课计划总体规划
- 下一篇: ssm整合之五 分页以及按时间查询