eXtremeComponents 分页列表
<%@taglib uri="/WEB-INF/extremecomponents" prefix="ec"%>
http://blog.csdn.net/hobbypei/article/details/6722488说的非常详细,自己写下,备忘以后用
<form method="post" name="technicianFrm" action="<%= path%>/queryDeveloperList.action"><div id="list_menu" > <div class="nav1"> <div class="left">机构:<input name="" type="text" size="10" height="25" /> 关键字:<input name="" type="text" size="20" height="25"/> </div> <div class="right"><input name="serch" onClick=""type="image" src="<%=path %>/appstar/manage/images/serch2.png"><input name="and" onClick=""type="image" src="<%=path %>/appstar/manage/images/and.png"> </div> </div></div><!-- sortable,filterable,rowsDisplayed 可以在extremetable.properties统一设置 --><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td> <ec:table cellspacing="0" cellpadding="0" border="0" action="${pageContext.request.contextPath}/queryDeveloperList.action" items="allUserList" var="arr" imagePath="${pageContext.request.contextPath}/appstar/manage/images/table/*.gif" width="100%" rowsDisplayed="10" form="technicianFrm" sortable="true" filterable="true" > <ec:exportCsv fileName="DepositHistory.csv" tooltip="CSV Download" /> <ec:exportXls fileName="listuser.xls" tooltip="Export Excel"/>
<ec:row> <ec:column property="id" cell="rowCount" title="序号" /> <ec:column property="userId" title="userId"></ec:column> <ec:column property="menuNo" title="MenuNo"></ec:column> </ec:row> </ec:table> </td> </tr> </table> </form>
如果数据量大,需要分页,需要这个类ExtremeTablePage
/** * ExtremeTablePage.java * com.zte.appstar.manage.util * * Function: TODO * * ver date author * ────────────────────────────────── * Aug 6, 2012 程仁银 * * Copyright (c) 2012, All Rights Reserved. */
package com.zte.appstar.manage.util;
import java.util.HashMap;import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.extremecomponents.table.context.Context;import org.extremecomponents.table.context.HttpServletRequestContext;import org.extremecomponents.table.limit.Limit;import org.extremecomponents.table.limit.LimitFactory;import org.extremecomponents.table.limit.Sort;import org.extremecomponents.table.limit.TableLimit;import org.extremecomponents.table.limit.TableLimitFactory;
/** * ClassName:ExtremeTablePage * Project: * Company: ZTE * * @author 程仁银 * @version * @since Ver 1.1 * @Date Aug 6, 2012 11:30:08 AM * @see */@SuppressWarnings("unchecked")public final class ExtremeTablePage { /** * 最大记录数. */ public static final int MAX_PAGE_SIZE = 1000000000; public static final int defaultPageSize = 10;
/** * 工具类的私有构造方法. */ private ExtremeTablePage() { }
/** * 根据DEFAULT_PAGE_SIZE获得数据. * * @param request 请求 * @return Limit 封装的数据 */ public static Limit getLimit(HttpServletRequest request) { return getLimit(request, defaultPageSize); }
/** * 从request构造Limit对象实例. * Limit的构造流程比较不合理,为了照顾export Excel时忽略信息分页,导出全部数据 * 因此流程为程序先获得total count, 再使用total count 构造Limit,再使用limit中的分页数据查询分页数据 * 而SS的page函数是在同一步的,无法拆分,再考虑到首先获得的totalCount * * @param request 请求 * @param defaultPageSize 页面记录数 * @return Limit 封装的数据 */ public static Limit getLimit(HttpServletRequest request, int defaultPageSize) { Context context = new HttpServletRequestContext(request); LimitFactory limitFactory = new TableLimitFactory(context); TableLimit limit = new TableLimit(limitFactory); limit.setRowAttributes(MAX_PAGE_SIZE, defaultPageSize);
return limit; }
/** * 将Limit中的排序信息转化为Map{columnName,升序/降序}. * @param limit 封装的页面信息 * @return Map 排序信息 */ public static Map getSort(Limit limit) { Map sortMap = new HashMap(); if (limit != null) { Sort sort = limit.getSort();
if ((sort != null) && sort.isSorted()) { sortMap.put(sort.getProperty(), sort.getSortOrder()); } } return sortMap; }}
public String queryDeveloperList() { System.out.println("############# queryDeveloperList #############"); Limit limit = ExtremeTablePage.getLimit(ServletActionContext.getRequest(),10); System.out.println("limit = "+limit);
org.extremecomponents.table.limit.TableLimit@f7821d[rowStart=20,rowEnd=30,currentRowsDisplayed=10,page=3,totalRows=1000000000,exported=false,sort=org.extremecomponents.table.limit.Sort@17f7bf6[alias=<null>,property=<null>,sortOrder=<null>],filterSet=org.extremecomponents.table.limit.FilterSet@a37512[action=<null>]]
public String queryDeveloperList() { System.out.println("############# queryDeveloperList #############"); Limit limit = ExtremeTablePage.getLimit(ServletActionContext.getRequest(),10);
Sort sort = limit.getSort(); String columnSort = sort.getProperty();
System.out.println("limit = "+limit);
Map<String,Object> param1 = new HashMap<String,Object>(); param1.put("eq,userId", "superstar"); System.out.println("sort.getSortOrder() = "+sort.getSortOrder()); if(sort.getSortOrder()!=null){ param1.put("order,"+columnSort,sort.getSortOrder()); } for(Filter f:limit.getFilterSet().getFilters()) { System.out.println(f.getProperty()+" "+f.getValue()); param1.put("like,"+f.getProperty(),f.getValue()); } List<UserPowerT> countList1 = this.userManageService.getObjListByParameter(UserPowerT.class, param1);
Map<String,Object> param2 = new HashMap<String,Object>(); param2.put("eq,userId", "superstar"); if(sort.getSortOrder()!=null){ param2.put("order,"+columnSort,sort.getSortOrder()); } for(Filter f:limit.getFilterSet().getFilters()) { System.out.println(f.getProperty()+" "+f.getValue()); param2.put("like,"+f.getProperty(),f.getValue()); } List<UserPowerT> countList2 = this.userManageService.getListByPage(UserPowerT.class, param2,(limit.getPage()-1)*limit.getCurrentRowsDisplayed(),limit.getCurrentRowsDisplayed());
/*List<UserPowerT> allUserList = this.userManageService.queryUserListDemo(limit.getPage(),limit.getCurrentRowsDisplayed(),"superstar",columnSort,sortOrder);*/ ServletActionContext.getRequest().setAttribute("allUserList",countList2); ServletActionContext.getRequest().setAttribute("totalRows",countList1.size()); return SUCCESS; }
eXtremeComponents 分页列表相关推荐
- list ajax封装,util-pagelist_基于layui封装的ajax分页列表
/** * layui分页列表模板引擎(使用时请使用new Pagelist(), 将每个分页模板当成一个独立的实例) * @param tplid 模板id * @param viewid 渲染模板 ...
- 微信小程序显示分页列表
目录 微信小程序创建项目配置底部导航栏 微信小程序滚动播放内容 微信小程序功能中心模块开发 微信小程序个人中心页面开发 微信小程序获取电话号码 微信小程序显示列表数据 微信小程序显示分页列表 微信小程 ...
- 07-项目训练_分页列表、快递录入、删除和修改
目录 一,分页列表 1,设计bootstrap-table可识别的格式 2,调整日期在控制台的显示格式 3,在ExpressController中编写处理列表请求的方法 4,修改list.html内容 ...
- 23. 尚融宝会员分页列表、锁定/解锁、用户登录日志
会员分页列表 需求 后台 query pojo包下新建query包 package com.indi.srb.core.pojo.query;@Data @ApiModel(description = ...
- layui框架中用laypage与后端搭配使用做分页列表
layui框架中用laypage与后端搭配使用做分页列表 layui中文离线文档,包含html文档及layui源码 首先我们需要在layui.use中引入laypage: layui.use(['la ...
- redis 清空db下_PHP操作redis实现的分页列表
正文内容 封装类文件如下: /* * redis 分页数据类库 */class redisPage{protected $_redis;protected $_redis_ip = '127.0.0. ...
- android 分页列表,android获取相册列表并分页获取
有时候需要获取到系统所有图片,但一次性获取太多了,需要分批分页获取,网上很多资料都没有说到分页,作为一个数据库达人,怎么能受此折磨,因此尝试出来了以下方案: /** * 从本地获取相册列表 * @pa ...
- js分页列表找出最后一页的最后一条数据
需求场景: 需求描述:如图所示,想要实现列表中排第一位向上的箭头隐藏, 列表中排最后一位向下的箭头隐藏 问题描述: 因为列表存在分页,数据不确定,所以不确定最后一位是否在第几页 代码实现: html: ...
- 实现分页列表跨页全选
前言 新需求是要支持跨页全选,因为习惯了element的当页全选以及惯性思维,第一步是想到了前端分页,但是这种方法显然是不可取的,因此花了点时间写了个demo分享 因为是个demo,所以就一直按照思路 ...
- vue 前端项目带条件查询的分页列表开发实战
一 添加医院设置路由 修改文件 E:\vue-sdgt\src\router\index.js {path: '/hospital',component: Layout,redirect: '/hos ...
最新文章
- 站在架构师的角度,深入理解 MySQL!
- Scala:Enumeration
- js中console在一行内打印字符串和对象
- is 和 == 区别 编码和解码
- 长安大学二级c语言考试题,长安大学03-04C语言A卷试题
- Bzoj4818--Sdoi2017序列计数
- Qt学习三 - 菜单栏、工具栏、状态栏
- C#中用委托实现C++的回调函数
- V$LICENSE表结构
- 成都至柬埔寨金边定期直飞航线开通
- 11.4. String 字符串处理
- 自定义Android中Dialog的弹出动画
- STM32的Altium Designer原理图PCB封装库下载
- SQL练习题附重点函数说明--更新至21题
- java 分隔符_Java分隔符的使用
- 130242014013+杨俊杰+第3次实验
- imp导入时遇到的问题及解决方式
- 2-44钟静雯_day04
- Puppy linux的引导安装问题
- 网络与信息安全基础知识(软考中级)