前言
通用分页之实战方面:本章要对通用分页方法的运用到jsp界面。
先看效果图:
应该看不清。。。。
重点在这:
分页实现思路
第一:分页三要素
page (页码) 视图层传递过来
rows (页大小 ) 视图层传递过来
total ( 总记录数 ) 后台查出来
pagination 是否分页 视图层传递过来
实体类:
第二:获取请求的路径
如何将上一次查询请求再发一次?
1,String contextPath = req.getContextPath();
//根目录
2, String url = req.getServletPath();
//请求的地址
3, req.getRequestURL()
//获取请求全路径
第三:绝对注意事项:
不能将分页表单嵌套到其它表单中,否则不能提交表单!!!
欧克,具体思路:
- 补全servlet
- 页面展示
- 分页重要参数(page、rows、是否分页、上一次请求、上一次的表单参数)
- 自定义分页标签
改造pageBean类
我们要多创建两个属性:
有了这些,我们就可以可以存储url,并且可以保存好其他的参数;
用paramMap来保存
问题来了,怎么保存?
在调用setRequest() 方法的时候,保存。
在保存过程中需要判空。
有了这个方法,就可以保证你每次请求到这个servlet的时候,都会将你这个参数信息保存起来。
再者一些辅助方法:
public int getMaxPage() {//获取最大值
return this.total % this.rows ==0 ? this.total /this.rows : (this.total / this.rows )+1;
}
public int getNextPage() {//获取下一个的page(页数)
return this.page < getMaxPage() ? this.page+1 :this.page;
}
public int getPreviousPage() {//获取上一个的page(页数)
return this.page > 1 ? this.page -1 :this.page;
}
一个pageBean类就改造成功;
通用分页标签(UI标签)的制作
为什么需要制作通用标签呢,因为这样可以节省大量的时间。
先看显示jsp界面
其中的pageBean就是已经写好了的标签
因为是UI标签,所以还是跟Out差不多:
首先:表单头
实际上在运行完后的jsp界面上是这样的
分页的相关
在里面调用的js代码就在下面
OK,这就差不多了。
总结
本次运用到了,反射,自作标签,通用方法
加油
Thanks♪(・ω・)ノ希望对大家有所帮助