问题描述:
关注jmesa分页组件有几天了, 这个项目的创始人从2002年就开始研究分页组件了, 从ExtremeTable到 ECSIDE, 再到2007年3月底就停止前面2个项目, 专心投入jmesa的研发了, 前几天在google code上还有新版更新, 应该是个很有前途的项目。
从3个项目的时间点就可以看出孰优孰劣. 该组件作者j eff.johnston.mn 很热情, 昨晚给他发了封邮件, 第2天早上就给我回了。
3个表格组件
ExtremeTable 2002-2006.9
ECSIDE 2006.9-2007.3
Jmesa 2007.3-2010.8.1
(当然不用jsp, 只喜欢freemark taperstry的兄弟们就不要考虑咯), 喜欢struts2的请参考</jmesa:struts2TableFacade>
如果您喜欢spring mvc, 并想在jsp里使用jmesa。 那么这篇文章适合你。
jmesa有2种分页风格写法: 前台写jsp tld 或者纯后台写java代码。
现在重点讨论前台如何设置总的记录条数, 如果设置不了,将无法分页!
我查了一下http://code.google.com/p/jmesa/wiki
在
jmesa2.xjmesa:tableFacade 或者jmesa3.0里的 jmesa:tableModel 两者是一个概念
都没有找到设置 totalRows的属性, 看了几篇国内研究jmesa的博客, 但都比较少且资料少, 建议大家去http://code.google.com/p/jmesa/wiki这个地址是个学习的好地方, 其它的地方别去了, 这里的资料最新, 很多博客里的大多是
jmesa2.x的资料, 并且只是基本的入门知识
我按照wiki文档里写了一下后台发现:
有一篇博文上
<!--StartFragment -->
因为暂时还没有设置 MaxRowsToLimit(总的记录条数)的标签属性, 所以在
<jmes:tableModel>
标签的最后加上这个js去设置总记录数是可以的, 对于喜欢用tld标签的来说。
不过接触多了, 个人还是喜欢在后台写java代码去构造表格,这样可控性强一些。
jmesa的跟普通的grid不一样在于: 它整合了html js java, 提供了面向对象的表格 limit editor filter sort类,
这些东西就算不是jmesa, 所有好的表格组件应该提供的东西。
今天就写到这了, 后面有空想写一篇 Jmesa整合hibernate离线查询的分页实现, 将前后台,数据连结在一起, 提供可扩展的,
只需少量代码就可以让表格拥有强大的功能!(注意不是普通的grid脱离了java后台,需要做很多工作的那种)
分享到:
相关推荐
// 总页数 private int pageSize = 10; // 每页显示数据条数,默认为10条记录 private int currentPage = 1; // 当前页数 private boolean hasPrevious = false; // 是否有上一页 private boolean hasNext ...
java jdbc 分页工具类,以及返回集合数据的封装, private int limit = 10;... * 总页数 */ private int pages; // /** * 当前页数据 */ private List,Object>> datas=new ArrayList,Object>>();
list的分页 import java.util.ArrayList; import java.util.List; import com.jsp.vo.Client; /** * PageBean * * @author apple * */ public class Page { private int currentPage; // 当前页数 ...
复制代码 代码如下:class Page { // 分页栏每页显示的页数 public $rollPage = 6; // 页数跳转时要带的参数 public $parameter ; // 默认列表每页显示行数 public $listRows = 20; // 起始行数 public $...
可见使用Hibernate,在进行查询分页的操作上,是具有非常大的灵活性,Hibernate会首先尝试用特定数据库的分页sql,如果没用,再尝试Scrollable,如果不行,最后采用rset.next()移动的办法。 (一)pager类 * @(#)...
先给大家展示下运行效果图: 1....int totalRows = blackList.size(); StringBuffer sb = new StringBuffer(); sb.append({\totalCount\:\+totalRows+\,); sb.append(\jsonRoot\:[); for (int
可以使用独立组件以及较低级别的挂钩,以实现最大的灵活性。 演示版 提供现场示例。 特征 仅渲染可见的数据子集; 自动滚动容器调整大小; 轻的; 快速地 可滚动列表 import { ListScroller } from '@vadim-...
<?php /* 需求,建立一个test数据库,在里边建一个test表,里面就 只要... $query1 = “SELECT COUNT(*) AS totalrows FROM test “; $result1 = mysql_query($query1, $conn) or die(mysql_error
使用Aspose.Cells组件生成Excel文件 生成带表头的Excel文件,格式如下显示 当然更复杂的一些也可以通过 合并单元格的方法 public void Merge(int firstRow, int firstColumn, int totalRows, int totalColumns)来...
当然更复杂的一些也可以通过 合并单元格的方法 public void Merge(int firstRow, int firstColumn, int totalRows, int totalColumns)来实现。 实现方式: 1. 首先,需要添加对”Aspose.Cells.dll”的引用。 2. 实现...
1.后台action产生json...int totalRows = blackList.size(); StringBuffer sb = new StringBuffer(); sb.append({\totalCount\:\+totalRows+\,); sb.append(\jsonRoot\:[); for (int i=0;i<blackList.size();i++) {
<br> //分页 NavigationBar1.PageSize = gvShiftInfo.PageSize; NavigationBar1.PageNo = gvShiftInfo.PageIndex + 1; NavigationBar1.TotalRows = dtShiftItem.Rows.Count; NavigationBar1....
Aspose.Cells5.3.1下载以及使用说明 生成带表头的Excel文件,格式如下显示。 当然更复杂的一些也可以通过 合并单元格的方法 public void Merge(int firstRow, int firstColumn, int totalRows, int totalColumns)来...
如果不想使用mvn,但要确保已在系统上安装了mvn ,并且位于SkiingInSingapore文件夹中,请使用脚本builder.sh进行构建 生成并运行 chmod +x builder.sh builder.sh <filename> totalRows totalColumn行和列必须...
totalRows = this.props.totalRows; var listRows = this.props.listRows; var nowPage = this.props.nowPage>0?this.props.nowPage:1; var firstRow = this.props.listRows*(this.props.nowPage-1); var tota
本次工作内容是要将以下数据解析成.Net可以使用的数据,返回的数据除了header,其他的都是可变的,也就是说结构不是固定的。完全由用户选择,所以选择了生成DataTable。 Json数据格式如下: 代码如下: {”dataSet”:...
虽说AngularJS 1.x版本中对于上拉加载,下拉刷新数据功能都有做些封装,但还是有些人不清楚。其实我一开始也是不懂的,so.现在把搞懂的记录下免得少... "totalRows": 40, "rowsOfPage":10, "minRowNumber": 1, "max
6 TotalRows = prt.rows, 7 [SpaceUsed(KB)] = SUM(alloc.used_pages)*8 8 FROM sys.objects obj 9 JOIN sys.indexes idx on obj.object_id = idx.object_id 10 JOIN sys.partitions prt on obj.object_...