JavaWeb前端分页显示方法
来源:互联网 发布:淘宝散片cpu去哪家买 编辑:程序博客网 时间:2024/05/18 01:20
- 在前端中我们总会遇到显示数据的问题,正常情况分页显示是必须的,这个时候我们不能仅仅在前端进行分页,在前端其实做起分页是很困难的,着就要求我们在后台拿数据的时候就要把分页数据准备好,在前端我们只需要将这些后台准备好的数据拿过来就行了
- 在后台我们通常是实现准备好一个分页工具类Pagination这里是分页显示的基本数据
- 在前台中我们只需要将pagination中构造函数中所需要的参数传过来就可以了。然后在向数据查询数据的时候将pagination中的限定条件传过去查询的数据就不是所有的数据而是前端所请求的分页数据了理论就是这样了下面看看我是如何实现的
`@RequestMapping(value = { “/assistantWork.action” })
public String assistantWork(HttpSession session, Integer page, QueryVo vo,
Model model) {
User user = (User) session.getAttribute(“user”);
if (vo == null) {
vo = new QueryVo();
}
// 当前页
if (page == null) {
page = 1;
}
vo.setUserId(user.getId());
// 查询总记录
Integer countrecord = workSerivce.selectAllWorksByConditionCount(vo);
List clazzs = workSerivce.selectClazzsByUserId(user.getId());
model.addAttribute(“clazzs”, clazzs);
if(countrecord!=0){
// 分页对象
Pagination pagination = new Pagination(page, countrecord);// 设置分页的查询条件 vo.setStartSize(pagination.getStartsize()); vo.setPageSize(pagination.PAGESIZE); // 拿到改助教管理下的所有班级的作业 // List<Work> works = workSerivce.selectAllWorks(user.getId()); List<Work> works = workSerivce.selectWorksByClazzId(vo); pagination.setRows(works); model.addAttribute("pagination", pagination); // 条件传过去 回写 model.addAttribute("vo", vo);}else { //没有管理的班级 model.addAttribute("msg", "当前用户没有管理的作业");}return "/pages/assistant/homework_assistant";
}`
这段代码里面用到其他的mybatis分装类,这里读者请忽视其他的只看我们将的pagination这段就可以了,可以看出我在最后查询的时候是带着pagination条件的,最后拿到的数据就是我们前端需要的整个过程就是这样下面我将pagination工具类贴在下面
- `package tm.change.util;
import java.util.List;
/**
*
* @author redarmy_chen
*
* @param
*/
public class Pagination {
// 分页信息private int nowpage;// 当前页private int countrecord;// 总记录private int countpage;// 总页数public static final int PAGESIZE = 3;// 每页显示的记录数private int startpage;// 页面中的起始页private int endpage;// 页面中的结束页private int startsize;private final int SHOWPAGE = 6;// 页面中显示的总页数 baidu,google显示的总页数是20// 在测试我们才用6来测试private List<T> rows;private String url;public Pagination() { super(); // TODO Auto-generated constructor stub}/** 根据当前页及总记录数来构造分页对象 */public Pagination(int nowpage, int countrecord) { //获取当前页 //1 2 3 //判断最小页码 if(nowpage<=1){ this.nowpage=1; }else{ this.nowpage = nowpage; } //总记录数 this.countrecord = countrecord; /** 计算总页数 */ this.countpage = this.countrecord % this.PAGESIZE == 0 ? this.countrecord / this.PAGESIZE : this.countrecord / this.PAGESIZE + 1; //判断最大页 if(this.nowpage>=this.countpage){ this.nowpage=this.countpage; } //开始的记录数 this.startsize=(this.nowpage-1)*this.PAGESIZE; /** 计算startpage与endpage的值 */ /** 总页数数是否小于4 */ if (this.countpage < (this.SHOWPAGE / 2 + 1)) { this.startpage = 1; // 页面中起始页就是1 this.endpage = this.countpage;// 页面中的最终页就是总页数 } else { /** else中是总页数大于4的情况 */ /** 首先当前页的值是否小于等于4 */ if (this.nowpage <= (this.SHOWPAGE / 2 + 1)) { this.startpage = 1; this.endpage = this.nowpage + 2; /** 判断页面的最终页是否大于总页数 */ if (this.endpage >= this.countpage) { this.endpage = this.countpage; } } else { this.startpage = this.nowpage - 3; this.endpage = this.nowpage + 2; if (this.endpage >= this.countpage) { this.endpage = this.countpage; if (this.countpage < this.SHOWPAGE) { this.startpage = 1; } else { this.startpage = this.endpage - 5; } } } }}public int getNowpage() { return nowpage;}public void setNowpage(int nowpage) { this.nowpage = nowpage;}public int getCountrecord() { return countrecord;}public void setCountrecord(int countrecord) { this.countrecord = countrecord;}public int getCountpage() { return countpage;}public void setCountpage(int countpage) { this.countpage = countpage;}public int getStartpage() { return startpage;}public void setStartpage(int startpage) { this.startpage = startpage;}public int getEndpage() { return endpage;}public void setEndpage(int endpage) { this.endpage = endpage;}public List<T> getRows() { return rows;}public void setRows(List<T> rows) { this.rows = rows;}public String getUrl() { return url;}public void setUrl(String url) { this.url = url;}public int getStartsize() { return startsize;}public void setStartsize(int startsize) { this.startsize = startsize;}
}`
- JavaWeb前端分页显示方法
- jQuery前端分页显示特效
- javaWeb笔记(六) 分页 显示分页页码列表
- 分页显示方法
- oracle分页显示方法
- JavaWeb分页(前端+后台)(后台部分)
- Django前端实现列表分页显示
- 分页页码的前端显示的实现
- oracle数据库分页到前端页面显示
- 分页前端的显示 仿百度
- JavaWeb前端
- JavaWeb 分页
- javaweb分页
- javaweb 分页
- JavaWeb分页显示内容之分页查询的三种思路(数据库分页查询)
- JavaWeb分页显示内容之分页查询的三种思路(数据库分页查询)
- JavaWeb分页显示内容之分页查询的三种思路(数据库分页查询)
- 通用的分页显示方法
- Linux的TUN/TAP编程
- SQL学习笔记10——表连接查询
- centos chmod改变文件权限
- 将SELinux的安全特性加入安卓
- 记录http请求 body内容的添加和接收
- JavaWeb前端分页显示方法
- 查看VS2013中项目的宏定义
- android Preference之android:dependency
- Retrofit2打印 网络请求日志
- centos6.5启动报错处理
- 设置webview禁用长按弹出框
- Instanceof关键字
- 找出缺失的整数
- eclipse在ubuntu16.04无法设置以及新建工程卡死解决方案