多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
Guns中前端表格用的[Bootstrap Table](http://bootstrap-table.wenzhixin.net.cn/zh-cn/documentation/)插件,在前端执行查询时,插件会自动往后台传递分页参数,并且默认的格式如下,  ![image_1c4msjlp71qb61b9bqlg9q4154i6v.png-54.5kB](https://img-blog.csdnimg.cn/20181228174637699) `Bootstrap Table`会传递`order(升序或者降序)`,`offset(每页偏移量)`,`limit(每页条数)`,`sort(排序的字段)`这四个参数,与之对应,后台封装了一个通用的接受分页参数的类`PageFactory`,从而不用每次都来`request.getParameter()`这样接收参数,如下所示, ``` public class PageFactory<T> { public Page<T> defaultPage() { HttpServletRequest request = HttpKit.getRequest(); int limit = Integer.valueOf(request.getParameter("limit")); //每页多少条数据 int offset = Integer.valueOf(request.getParameter("offset")); //每页的偏移量(本页当前有多少条) String sort = request.getParameter("sort"); //排序字段名称 String order = request.getParameter("order"); //asc或desc(升序或降序) if (ToolUtil.isEmpty(sort)) { Page<T> page = new Page<>((offset / limit + 1), limit); page.setOpenSort(false); return page; } else { Page<T> page = new Page<>((offset / limit + 1), limit, sort); if (Order.ASC.getDes().equals(order)) { page.setAsc(true); } else { page.setAsc(false); } return page; } } } ``` 在后台代码中如需接收参数,构建分页Page对象的时候,只需如下这样一调用即可构建分页对象 ``` Page<OperationLog> page = new PageFactory<OperationLog>().defaultPage(); ```