JavaWeb-封装分页对象

1. 分页SQL (rownum + 子查询):

 

"select *  from (select e.id,e.name,e.salary,e.borndate,e.phone,e.email,d.deptid,d.deptname,rownum as RN from t_employee e left join t_department d on e.deptid=d.deptid) t where t.RN>=? AND t.RN<=?"

2. 封装://传递对象

I. 总条数(查询)

totalRow

II. 总页数(计算) totalRow % totalPage == 0 ? totalRow / totalPage : totalRow / totalPage + 1

totalPage

III. 单页显示条数(设定)

pageSize

IV. 访问的页码(获取)

pageIndex(每次请求+1 / -1)



PageUtil源代码:仅供参考

public class PageUtil {
	private Integer totalRow;
	private Integer pageIndex;
	private Integer pageSize;
	private Integer totalPage;
	
	
	//设置默认当前页与pageSize
	public PageUtil() {
		this(1,5);	
	}
	
	public PageUtil(Integer pageIndex, Integer pageSize) {
		super();
		this.pageIndex = pageIndex;
		this.pageSize = pageSize;
	}
	//设置总行数、计算总页数
	public void setTotalRow(Integer totalRow) {
		this.totalRow = totalRow;	
		Integer count=this.totalRow % this.pageSize ==0? this.totalRow/this.pageSize:this.totalRow/this.pageSize+1;
		this.setTotalPage(count);
	}
	public Integer getPageIndex() {
		return pageIndex;
	}
	public void setPageIndex(Integer pageIndex) {
		this.pageIndex = pageIndex;
	}
	
	public Integer getPageSize() {
		return pageSize;
	}
	public void setPageSize(Integer pageSize) {
		this.pageSize = pageSize;
	}
	
	public Integer getTotalPage() {
		return totalPage;
	}
	public void setTotalPage(Integer totalPage) {
		this.totalPage = totalPage;
	}
	//获得起始行
	public Integer getFirst(){
		return (this.pageIndex-1)*this.pageSize+1;
	}
	//获得最后一行
	public Integer getLast(){
		return this.pageIndex*this.pageSize;
	}
}


Action代码:


JSP页面绑定

<s:if  test="page.pageIndex ==1" >
	上一页<br/>
</s:if>
<s:else>
	<a href="<s:url namespace='/employee'  action='showAll'/>?page.pageIndex=<s:property value='page.pageIndex-1' />" >上一页</a><br/>
</s:else>
<s:if  test="page.pageIndex >= page.totalPage" >
	下一页<br/>
</s:if>
<s:else>
	<a href="<s:url namespace='/employee'  action='showAll'/>?page.pageIndex=<s:property value='page.pageIndex+1' /> " >下一页</a><br/>
</s:else>


猜你喜欢

转载自blog.csdn.net/sugar_map/article/details/80241546