频道栏目
首页 > 程序开发 > 软件开发 > Java > 正文
单表练习之分页,java web监听器
2016-04-30 09:11:42         来源:飛白的学习笔记  
收藏   我要投稿

分页数据

 

页面的数据都是由Servlet传递来的

Servlet:

1.当前页面页数:pageCode,pc(没有传递按默认第一页)

2.总页数:totalPages,tp(总记录数/每页记录数)

3.总记录数:totalRecored,tr(dao来获取,select count(*) fromt_customer)\

4.每页记录数:pageSize,ps

5.当前页的记录:beanList

6.url:保存/项目名,保存/Servlet路径,保存?后面的参数(既保留多条件查询的条件)


分页Bean的设计

 

页数据总要在各层之间来回的传递,这些分页数据封装到一个javabean中,

它就叫分页Bean,例如:PageBean

 

代码

 

public class PageBean {
	private int pc;// 当前页码page code
//	private int tp;// 总页数total page
	private int tr;// 总记录数total record
	private int ps;// 每页记录数page size
	private List beanList;// 当前页的记录
	
	private String url;//它就是url后的条件!

	public String getUrl() {
		return url;
	}

	public void setUrl(String url) {
		this.url = url;
	}

	public int getPc() {
		return pc;
	}

	public void setPc(int pc) {
		this.pc = pc;
	}

	/**
	 * 计算总页数
	 * @return
	 */
	public int getTp() {
		// 通过总记录数和每页记录数来计算总页数
		int tp = tr / ps;
		return tr%ps==0 ? tp : tp+1;
	}

//	public void setTp(int tp) {
//		this.tp = tp;
//	}

	public int getTr() {
		return tr;
	}

	public void setTr(int tr) {
		this.tr = tr;
	}

	public int getPs() {
		return ps;
	}

	public void setPs(int ps) {
		this.ps = ps;
	}

	public List getBeanList() {
		return beanList;
	}

	public void setBeanList(List beanList) {
		this.beanList = beanList;
	}
}

 

 

 

分页在各层中的处理

 

Servlet传递pc,设定ps

由dao层返回一个PageBean

保存到域中再由页面显示

 

\

 

图2

\

 

 

显示分页页码列表

 

1 2 3 4 5 [6] 7 8 9 10

↑最多显示多少个页码!定为10

↑当前页,在页码列表中的位置,定为6

 

↑只需要当前页码来定出来页码列表

↓定下来页码列表只需要两样数据

1.begin

2.end

 

10 11 12 13 14 [15] 16 17 18 19

需要使用pc来推算出begin和end

begin = pc – 5

end = pc + 4

公式:

*如果总页数<=10(列表长度),那么begin=1,end=总页数

*使用公式计算;begin=pc-5, end=pc + 4

*头溢出:当begin<1时,让begin=1

*尾溢出:当end>${tp}时,让end=${tp}

 

代码

 

...
JSP
<%-->
点击复制链接 与好友分享!回本站首页
相关TAG标签 监听器 单表
上一篇:[Java] HashMap源码分析
下一篇:使用负载均衡之后的Session解决方案
相关文章
图文推荐
文章
推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站