首页>代码>ssm分页查询实例 ,只需一个查询就可以>/page/src/com/common/paginate/Page.java
package com.common.paginate;

import java.util.List;


/**
 * 分页实例
 *
 */
public class Page {
	private int pageSize = 10; //每页显示记录数
	private int totalPage;		//总页数
	private int totalResult;	//总记录数
	private int currentPage;	//当前页
	private int currentResult;	//当前记录起始索引
	private boolean entityOrField;	//true:需要分页的地方,传入的参数就是Page实体;false:需要分页的地方,传入的参数所代表的实体拥有Page属性
	private String pageStr;		//最终页面显示的底部翻页导航,详细见:getPageStr();
	private List<?> result ;//存放查询的结果集
	private String formName = ""; //查询条件在页面表单中的位置
	
	public Page() {
	}
	public Page(int pageSize) {
		this.pageSize = pageSize;
	}
	public Page(int pageSize,String formName) {
		this.pageSize = pageSize;
		this.formName = formName;
	}
	public Page(String formName) {
		this.formName = formName;
	}
	public int getTotalPage() {
		if(totalResult%pageSize==0)
			totalPage = totalResult/pageSize;
		else
			totalPage = totalResult/pageSize+1;
		return totalPage;
	}
	public void setTotalPage(int totalPage) {
		this.totalPage = totalPage;
	}
	public int getTotalResult() {
		return totalResult;
	}
	public void setTotalResult(int totalResult) {
		this.totalResult = totalResult;
	}
	public int getCurrentPage() {
		if(currentPage<=0)
			currentPage = 1;
		if(currentPage>getTotalPage())
			currentPage = getTotalPage();
		return currentPage;
	}
	public void setCurrentPage(int currentPage) {
		this.currentPage = currentPage;
	}
	public String getPageStr() {
		StringBuffer sb = new StringBuffer();
		if(totalResult>0){
			sb.append("<div class='pages_bar'>\n");
			if(currentPage==1){
				sb.append("	<a href='javascript:void(0);'>首页</a>\n");
				sb.append("	<a href='javascript:void(0);'>上页</a>\n");
			}else{	
				sb.append("	<a onclick=\"nextPage(1);return false;\" href=\"javascript:void(0);\">首页</a>\n");
				sb.append("	<a onclick=\"nextPage("+(currentPage-1)+");return false;\" href=\"javascript:void(0);\">上页</a>\n");
			}
			int showTag = 5;	//分页标签显示数量
			int startTag = 1;
			if(currentPage>showTag){
				startTag = currentPage-1;
			}
			int endTag = startTag+showTag-1;
			for(int i=startTag; i<=totalPage && i<=endTag; i++){
				if(currentPage==i)
					sb.append("<a href='javascript:void(0);' class='current_page'>"+i+"</a>\n");
				else
					sb.append("	<a onclick=\"nextPage("+i+");return false;\" href=\"javascript:void(0);\">"+i+"</a>\n");
			}
			if(currentPage==totalPage){
				sb.append("	<a href='javascript:void(0);'>下页</a>\n");
				sb.append("	<a href='javascript:void(0);'>尾页</a>\n");
			}else{
				sb.append("	<a onclick=\"nextPage("+(currentPage+1)+");return false;\" href=\"javascript:void(0);\">下页</a>\n");
				sb.append("	<a onclick=\"nextPage("+totalPage+");return false;\" href=\"javascript:void(0);\">尾页</a>\n");
			}
			sb.append("	<span style='border:0px;padding:0px;'>到第<input id='txtPage' type='text' size='3'/>页</span>\n");
			sb.append("	<label class='btn_gray_s' style='margin:0px;margin-bottom:4px;'><input type='button' value='GO' onclick='nextPage(0);return false;'/></label>\n");
			sb.append("	<span>第"+currentPage+"页</span>\n");
			sb.append("	<span>共"+totalPage+"页</span>\n");
			sb.append("	<span>每页"+pageSize+"条记录,共"+totalResult+"条</span>\n");
			sb.append("</div>\n");
			
			
			sb.append("<script type=\"text/javascript\">\n");
			sb.append("function nextPage(page){\n");
			if(StringUitl.IsNotNull(formName)){//存在form表单
				// 添加输入页号跳转的数字验证
				sb.append("	if(page == 0){\n");
				sb.append("		page = jQuery.trim(document.getElementById('txtPage').value);\n");
				sb.append("		if (page > 0 && page <= " + totalPage + " && page.indexOf('.') < 0) {\n");
				sb.append("		} else {\n");
				sb.append("			realAlert('请输入正确的页号');\n");
				sb.append("			return false;\n");
				sb.append("		}\n");
				sb.append("		if (page == " + currentPage + " || page == '') {\n");
				sb.append("			realAlert('请输入正确的页号');\n");
				sb.append("			return false;\n");
				sb.append("		}\n");
				sb.append("	}\n");
				sb.append("	if(true && document.forms['").append(formName).append("']){\n");
				sb.append("		var url = document.forms['").append(formName).append("'].getAttribute(\"action\");\n");
				sb.append("		if(url.indexOf('?')>-1){url += \"&"+(entityOrField?"currentPage":"page.currentPage")+"=\";}\n");
				sb.append("		else{url += \"?"+(entityOrField?"currentPage":"page.currentPage")+"=\";}\n");
				sb.append("		document.forms['").append(formName).append("'].action = url+page+\"&pageChangeFlag=1\";\n");
				sb.append("		document.forms['").append(formName).append("'].submit();\n");
				sb.append("	}else{\n");
				sb.append("		var url = document.location+'';\n");
				sb.append("		if(url.indexOf('?')>-1){\n");
				sb.append("			if(url.indexOf('currentPage')>-1){\n");
				sb.append("				var reg = /currentPage=\\d*/g;\n");
				sb.append("				url = url.replace(reg,'currentPage=');\n");
				sb.append("			}else{\n");
				sb.append("				url += \"&"+(entityOrField?"currentPage":"page.currentPage")+"=\";\n");
				sb.append("			}\n");
				sb.append("		}else{url += \"?"+(entityOrField?"currentPage":"page.currentPage")+"=\";}\n");
				sb.append("		document.location = url + page + \"&pageChangeFlag=1\";\n");
				sb.append("	}\n");
			}else{
				sb.append("		if(page == 0){\n");
				sb.append("			page = trim(document.getElementById('txtPage').value);\n");
				sb.append("			if (page > 0 && page <= " + totalPage + " && page.indexOf('.') < 0) {\n");
				sb.append("			} else {\n");
				sb.append("				realAlert('请输入正确的页号');\n");
				sb.append("				return false;\n");
				sb.append("			}\n");
				sb.append("			if (page == " + currentPage + " || page == '') {\n");
				sb.append("				realAlert('请输入正确的页号');\n");
				sb.append("				return false;\n");
				sb.append("			}\n");
				sb.append("		}\n");
				
				sb.append("		var url = document.location+'';\n");
				sb.append("		if(url.indexOf('?')>-1){\n");
				sb.append("			if(url.indexOf('currentPage')>-1){\n");
				sb.append("				var reg = /currentPage=\\d*/g;\n");
				sb.append("				url = url.replace(reg,'currentPage=');\n");
				sb.append("			}else{\n");
				sb.append("				url += \"&"+(entityOrField?"currentPage":"page.currentPage")+"=\";\n");
				sb.append("			}\n");
				sb.append("		}else{url += \"?"+(entityOrField?"currentPage":"page.currentPage")+"=\";}\n");
				sb.append("		document.location = url + page;\n");
			}
			sb.append("}\n");
			sb.append("</script>\n");
		}
		pageStr = sb.toString();
		return pageStr;
	}
	/**
	 * 获取简单版的分页组件,无form,非url提交; 包括 首页  上页 5 下页 尾页 共15页 每页....
	 */
	public String getSimplePageStr(String nextPageMethod) {
		StringBuffer sb = new StringBuffer();
		if(totalResult>0){
			sb.append("<div class='simple_pages_bar'>\n");
			if(currentPage==1){
				sb.append("	<a href='javascript:void(0);'>上一页</a>\n");
			}else{	
				sb.append("	<a onclick=\"" + nextPageMethod +"("+(currentPage-1)+");return false;\" href=\"javascript:void(0);\">上一页</a>\n");
			}
			int startTag = currentPage;
			//int showTag = 5;	//分页标签显示数量
			//int startTag = 1;
			//if(currentPage>showTag){
			//	startTag = currentPage-1;
			//}
			//int endTag = startTag+showTag-1;
			sb.append("<span>第"+currentPage+"页</span>\n");
			sb.append("<span>共"+totalPage+"页</span>\n");
			if(currentPage==totalPage){
				sb.append("	<a href='javascript:void(0);'>下一页</a>\n");
			}else{
				sb.append("	<a onclick=\"" + nextPageMethod +"("+(currentPage+1)+");return false;\" href=\"javascript:void(0);\">下一页</a>\n");
			}
			sb.append("<input type=\"hidden\" id=\"page_total_page_size\" value=\"" + totalPage + "\">");
			sb.append("<input type=\"hidden\" id=\"page_current_page_size\" value=\"" + currentPage + "\">");
			//sb.append("	<span style='border:0px;padding:0px;'>到第<input id='txtPage' type='text' size='3'/>页</span>\n");
			//sb.append("	<label class='btn_gray_s' style='margin:0px;margin-bottom:4px;'><input type='button' value='GO' onclick='nextPage(0);return false;'/></label>\n");
			//sb.append("	<span>第"+currentPage+"页</span>\n");
			sb.append("</div>\n");
			
		}
		pageStr = sb.toString();
		return pageStr;
	}
	
	/**
	 * 获取简单版的分页组件,无form,非url提交; 包括 首页  上页 5 下页 尾页 共15页 每页....
	 * type 判断是否显示 分页标签
	 */
	public String getAjaxPageStr(String nextPageMethod,String type) {
		StringBuffer sb = new StringBuffer();
		if(totalResult>0){
			sb.append("<div class='pages_bar'>\n");
			if(currentPage==1){
				sb.append("	<a href='javascript:void(0);'>首页</a>\n");
				sb.append("	<a href='javascript:void(0);'>上页</a>\n");
			}else{	
				if("depotSearch".equals(type)){
					sb.append("	<a onclick=\""+nextPageMethod+",1);return false;\" href=\"javascript:void(0);\">首页</a>\n");
					sb.append("	<a onclick=\""+nextPageMethod+","+(currentPage-1)+");return false;\" href=\"javascript:void(0);\">上页</a>\n");
				}else{
					sb.append("	<a onclick=\""+nextPageMethod+"(1);return false;\" href=\"javascript:void(0);\">首页</a>\n");
					sb.append("	<a onclick=\""+nextPageMethod+"("+(currentPage-1)+");return false;\" href=\"javascript:void(0);\">上页</a>\n");
				}
			}
			if("have".equals(type)){
				int showTag = 5;	//分页标签显示数量
				int startTag = 1;
				if(currentPage>showTag){
					startTag = currentPage-1;
				}
				int endTag = startTag+showTag-1;
				for(int i=startTag; i<=totalPage && i<=endTag; i++){
					if(currentPage==i)
						sb.append("<a href='javascript:void(0);' class='current_page'>"+i+"</a>\n");
					else
						sb.append("	<a onclick=\""+nextPageMethod+"("+i+");return false;\" href=\"javascript:void(0);\">"+i+"</a>\n");
				}
			}
			if(currentPage==totalPage){
				sb.append("	<a href='javascript:void(0);'>下页</a>\n");
				sb.append("	<a href='javascript:void(0);'>尾页</a>\n");
			}else{
				if("depotSearch".equals(type)){
					sb.append("	<a onclick=\""+nextPageMethod+","+(currentPage+1)+");return false;\" href=\"javascript:void(0);\">下页</a>\n");
					sb.append("	<a onclick=\""+nextPageMethod+","+totalPage+");return false;\" href=\"javascript:void(0);\">尾页</a>\n");
					sb.append("	<span style='border:0px;padding:0px;'>到第<input id='txtPagesearchDepotId' type='text' size='3'/>页</span>\n");
					sb.append("	<label class='btn_gray_s' id = 'gotoNum' style='margin:0px;margin-bottom:4px;'><input type='button' value='GO' onclick='"+nextPageMethod+",this.value);return false;'/></label>\n");
				}else{
					sb.append("	<a onclick=\""+nextPageMethod+"("+(currentPage+1)+");return false;\" href=\"javascript:void(0);\">下页</a>\n");
					sb.append("	<a onclick=\""+nextPageMethod+"("+totalPage+");return false;\" href=\"javascript:void(0);\">尾页</a>\n");
					sb.append("	<span style='border:0px;padding:0px;'>到第<input id='txtPage"+nextPageMethod+"' type='text' size='3'/>页</span>\n");
					sb.append("	<label class='btn_gray_s' id = 'gotoNum' style='margin:0px;margin-bottom:4px;'><input type='button' value='GO' onclick='"+nextPageMethod+"(this.value);return false;'/></label>\n");
				}
			}
			sb.append("	<span>第"+currentPage+"页</span>\n");
			sb.append("	<span>共"+totalPage+"页</span>\n");
			if("have".equals(type)){
				sb.append("	<span>每页"+pageSize+"条记录,共"+totalResult+"条</span>\n");
			}
			sb.append("</div>\n");
			
		}
		pageStr = sb.toString();
		return pageStr;
	}
	
	public void setPageStr(String pageStr) {
		this.pageStr = pageStr;
	}

	public int getPageSize() {
		return pageSize;
	}
	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}
	public int getCurrentResult() {
		currentResult = (getCurrentPage()-1)*getPageSize();
		if(currentResult<0)
			currentResult = 0;
		return currentResult;
	}
	public void setCurrentResult(int currentResult) {
		this.currentResult = currentResult;
	}
	public boolean isEntityOrField() {
		return entityOrField;
	}
	public void setEntityOrField(boolean entityOrField) {
		this.entityOrField = entityOrField;
	}
	public List<?> getResult() {
		return result;
	}
	public void setResult(List<?> result) {
		this.result = result;
	}
	public String getFormName() {
		return formName;
	}
	public void setFormName(String formName) {
		this.formName = formName;
	}
	
}
最近下载更多
ewan007 LV131月27日
月亮月亮月亮星星
a991206 LV71月5日
月亮星星星星星星
桃花人 LV62020年12月17日
月亮星星星星
sheng166 LV42020年12月17日
月亮
1900110734 LV52020年12月4日
月亮星星
240598911 LV82020年11月25日
月亮月亮
怎么取名字啊14 LV32020年9月27日
星星星星星星
hjh844615 LV62020年9月20日
月亮星星星星
yuanchuang LV182020年7月9日
太阳星星星星
小肥羊 LV162020年6月19日
太阳
最近浏览更多
upupup2019 LV72月18日
月亮星星星星星星
lnklnk LV42月18日
月亮
yuanjuntao LV22月14日
星星星星
2131473496 LV22月6日
星星星星
君颜yyyyys2月6日
暂无贡献等级
ly_fxm LV41月31日
月亮
ewan007 LV131月27日
月亮月亮月亮星星
店小二小猿 LV11月25日
星星
liudcc LV51月14日
月亮星星
一只勤奋的猪猪 LV71月14日
月亮星星星星星星
顶部客服微信二维码底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友