`
我想我是海
  • 浏览: 214787 次
社区版块
存档分类
最新评论

介绍ExtremeTable的下一代Jmesa

阅读更多
 说到ExtremeTable(以下简称ET,呃,,,ET.....),可以说不知道的人甚少.不过估计用的也未必多罢了.今天,给大家介绍一个由ET的作者重新实现的一套关于Table的API.JMesa.
我是一个偶然的机会知道Jmesa,我在做一个数据展现系统的时候想寻找ET的帮忙,但发现ET己不再更新,作者把精力转移到了新的项目中,也就是这个 JMesa.这个项目的目的是为开发者提供更有效的表格展现的API,而不是简单的TagLib.无论从灵活性,易扩展性,易用性,均比ET上了一个层 次.最近Release的版本里面,并不包括TagLib.而在下一个版本(2.1.0)将会加入TagLib,目前TagLib己经可用,在SVN里已 有.只是等待下一个版本的发布,其间会有一些更新,不过会兼容目前的TagLib的.
假如我从API开始介绍JMesa,恐怕并不是个好的办法,像我以前的文章里面有介绍,结果反响不大.这次决定从TagLib入手,来给大家介绍一下Jmesa.
大家可以从附件里拿到一个Demo.注意Demo依赖JMesa以及其他Lib.在Lib文件夹下有详细说明.
现在来看看JMesa的使用:
xml 代码
 
  1. <jm:table id="product" items="products" caption="product listing">  
  2.     <jm:column property="name" sortable="true" filterable="true"/>  
  3.     <jm:column property="price" />  
  4.     <jm:column property="createdTime" />  
  5.     <jm:column property="id" title="edit">  
  6.         <a href="viewProduct.action?id=<jm:property/>"><jm:property name="name"/></a>  
  7.     </jm:column>  
  8. </jm:table>  

估计比较容易看得懂的代码吧.
Jmesa 的检签规范当中只有三个Tag:Table,Row,Column.而当前的TagLib实现中只实现了Table和Column两个(Row是可选 的).另加一个Property的Tag.此阶段,Property的Tag是很有用的,其起到的作用与Webwork的PropertyTag相差无几, 用来获得对象的某个属性.之所以使用Property Tag是因为当前的TagLib有个限制就是暂时不支持如JSTL的${}这种写法.将来会支持,届时Property Tag也会继续获得兼容.Jeff比较倾向于使用迭代的方式实现Tag,那样可以支持${}这样的写法.不过作为TagLib的开始,问题不大.有时间再 重构一下TagLib,支持JSTL的写法.
好了,来说一说这些Tag的使用方法:
Table:
Attribute Description
id 表格的ID(必须)
items 对象或者Map的集合 (必须)
caption 表格的标题
theme 表格的主题,自定义样式
exportTypes 使用逗号分割导出的类型,目前支持导出类型有CSV,Excel
width 表格宽度
style 即表格的Style属性
styleClass 使用的Css的Class名字
border 表格宽
cellpadding 表格属性
cellspacing 表格属性
实际上,真正Release的版本里面将会加上var以及Limit属性.
var属性值即在Column标签里可以获得的对象变量.
Limit属性是保存在当前请求的Limit的对象名.
Row:
Attribute Description
highlighter 是否高亮显示
onclick 点击事件
onmouseout 鼠标移出事件
onmouseover 鼠标移入事件
该Tag是可选的.实际上Jmesa提供了一系列默认的事件响应,有必要的情况下才使用.
Column:
Attribute Description
property Java对象或Map的属性名
title 列的名称
filterable 是否可按过滤条件查找
sortable 是否要排序
width 列宽
style Style属性
styleClass 使用的Css的Class的名字
ColumnTag的使用方法有下面几种:
xml 代码
 
  1. <jm:column property="name"/>  

将仅仅输出对象中Name属性值.列名是Name
xml 代码
 
  1. <jm:column property="name" title="名字" sortable="true" filterable="false"/>  

这样可以得到自定义的列名,可以让列可查找,可排序,当然你Server端需要相应提供排序及查找功能.不过就算你不提供,客户端也会把当前结果排序和查找的.
xml 代码
 
  1. <jm:column property="id" title="edit">   
  2.     <a href="viewProduct.action?id=<jm:property/>"><jm:property name="name"/></a>   
  3. </jm:column>    

这里结合了PropertyTag.实现自定义列显示.可以灵活定制自己的单元格.
在ColumnTag里面,使用PropertyTag的时候,可以指定Name属性,如果不指定则使用当前Column的Property属性值.
以后将支持:

xml 代码
 
  1. <jm:column property="id" title="edit">   
  2.     <a href="viewProduct.action?id=${id}">${name}</a>   
  3. </jm:column>    
这样的写法.当然会继续兼容PropertyTag,尽管不是Tag规范里的东西.

相信经过上面的一番介绍,大家对Jmesa有一定的感性认识了吧.还没有?下载Demo,扔进Tomcat 的App里跑一下就明白了.
有什么建议,请一定要告诉我 :).
  • jmesa-tag.zip (32.5 KB)
  • 描述: 需要自己下载Jmesa的发布版本,自己打所有的第三方包放到Lib下面
  • 下载次数: 1386
分享到:
评论
12 楼 baichinie 2008-07-16  
还是不喜欢用taglib
11 楼 spiritfrog 2008-06-12  
不好意思,刚没注意有个附件就是demo的。
10 楼 spiritfrog 2008-06-12  
感觉对jmesa的宣传还不够, 到了今天我才知道。
一直用displaytag的, 既然说jmesa更加简单和优雅, 有兴趣学习一下。
lz是否可以放出一个完整的demo学习学习
9 楼 xy514817263 2008-05-07  
用自带的查找的功能,控件怎么根据日期进行模糊查询阿???
8 楼 phoenix520 2008-04-02  
能不能像Display tag那样在每行前面加上一个行号呢?
7 楼 clllg 2008-04-02  
jar包弄全了,可是还是运行不起来呀,本人用的Tomcat服务器.
6 楼 clllg 2008-04-01  
都需要哪些jar包呀?
弄了半天,最后还是有问题,
LZ帮忙呀
The server encountered an internal error () that prevented it from fulfilling this request
5 楼 我想我是海 2007-08-22  
1,可以考虑,到时给Jeff反映下意见。
2,曾经有人提出过类似的提议。Jeff的回答是,你可以利用Jmesa提供的Api实现自己的工具条。
3,没有实现导出的功能
4,重点不在Server端的程序,Server端也仅仅是为了显示分页写了一个分页函数罢了。后端要怎样用,相信每个人都有自己的想法,在这里仅作示例代码。
5,并没有模仿DiaplayTag。
谢谢。
4 楼 mkclawhammer 2007-08-20  
几点建议:
1. 分页工具栏可不可以不显示?当只有一页时,不希望显示在上面占用空间。
2. 分页工具栏上可不可以提供分页页码选择或输入?即直接跳转到某一页。
3. Example里的Limit (with AJAX) 似乎有问题, 选择导出会跳转到其他页面。
4. 服务器端分页那个Example实在很复杂,,从View层到 DAO层耦合似乎比较紧。项目中使用的话,程序员更关心的是如何拿来就用(比如Util类),不是项目中的每个程序员都有时间和耐心来搞懂一套新东西的。
5. 如果能做成.NET里的DataGridView Control就好了,不一定非要参考DisplayTag。
3 楼 phpxer 2007-07-31  
我下过JMESA的代码,看过Jmesa的DEMO,感觉很清爽。

关注中,有时间试用一下。
2 楼 我想我是海 2007-07-31  
JM不是为了Ajax。
JM是一套API,EC是一套Taglib。
JM最终可以有一套TagLib,但是EC没有JM的灵活性,扩展性。从实现JM的Taglib上看来,这TagLib的实现是轻而易举的事。这正是Jmesa的威力所在。
1 楼 差沙 2007-07-31  
这个跟以前的ec有什么不同呢?
感觉jeff好像是做了那个ajax的演示后,突发奇想才转到了jm。

相关推荐

    jmesa-tag

    在Java Web开发领域,`Jmesa`是一个针对`ExtremeTable`的下一代项目,旨在提供一个更为强大的表格展示API。与传统的TagLib(标签库)相比,Jmesa的目标是为开发者创造更加高效且功能丰富的表格处理工具。本文将深入...

    eXtremeTable中文文档

    文档还会介绍eXtremeTable的高级功能,如数据分区策略、并发控制和负载均衡。这些特性有助于进一步提升系统的处理能力和效率。此外,关于备份与恢复、监控与日志、安全性等运维相关的知识也会在文档中得到详述,这...

    eXtremeTable中文文档.pdf

    本文档将详细介绍 eXtremeTable 的基本概念、核心功能及使用方法等,旨在帮助用户更好地理解和掌握该系统。 ### 基本概念 1. **表(Table)**:在 eXtremeTable 中,数据以表的形式组织。每个表可以包含多个字段,...

    jmesa使用说明文档

    - **org.jmesa.web**:提供在 Web 环境下使用 JMESA 的辅助类。 **环境搭建** 要使用 JMESA,你需要准备以下资源: 1. 支持的 jar 包 2. 必要的 JavaScript 文件 3. CSS 样式文件 `jmesa.css` 4. 图像文件 **...

    eXtremeTable

    eXtremeTable文档 eXtremeTable文档 eXtremeTable文档 eXtremeTable文档 eXtremeTable文档 eXtremeTable文档

    eXtremeTable分页控件完整例子(数据分页+数据导出)

    以下是具体导出方式的介绍: 1. **Excel导出**:利用Java的Apache POI库,eXtremeTable可以将表格数据转换成Excel文件格式(.xls或.xlsx)。这种导出方式对于数据分析和报告制作非常有用,因为Excel提供了丰富的...

    ExtremeTable

    博文链接:https://xinzhiz.iteye.com/blog/198102

    eXtremeTable的使用方法

    我也刚开始看,感觉是个好东东,大家多多交流

    extremeTable

    ### extremeTable:强大的数据展示工具 #### 一、概述 **extremeTable**是一款开源的JSP自定义标签库,其主要功能是通过表格形式来高效地展示数据。这款工具的最新版本为1.0.1-M1。作为一款类似于`displaytag`和`...

    jmesa学习笔记。。。

    本篇学习笔记主要围绕JMesa的安装配置、基本使用方法以及常见问题解决策略进行详细介绍。在实际项目开发过程中,作者之前使用过其前身ExtremeTable,并在使用过程中遇到了一些bug,最终决定转向JMesa。 #### 二、...

    eXtremeTable参考文档.pdf

    《eXtremeTable参考文档》是针对eXtremeComponents中的一款核心组件——eXtremeTable的详细指南。eXtremeComponents是一个开源项目,它为JavaServer Pages (JSP) 开发者提供了丰富的定制标签库,使得在Web应用开发中...

    extremetable教程.pdf

    本教程详细介绍了eXtremeTable的配置、使用方法以及各种标签的功能,旨在帮助开发者充分利用其功能,实现高效、灵活的数据展示。 1. 配置 配置eXtremeTable需要满足以下先决条件: - Servlet 2.3或更高版本的服务器...

    hibernate + extremetable 实现分页

    本教程将详细讲解如何使用Hibernate ORM框架结合ExtremeTable实现高效的分页查询。 Hibernate是一个强大的对象关系映射(ORM)框架,它允许开发者以面向对象的方式处理数据库操作,避免了直接编写SQL语句的繁琐。而...

    eXtremeTable的使用方法.rar

    1. **高效性能**:它设计为处理大量数据,即使在内存有限的情况下也能保持高效运行,这得益于其内存管理和缓存策略。 2. **灵活性**:支持多种数据结构,可以创建复杂的表格布局,以及自定义列类型和格式。 3. **...

    eXtremeTable使用指南

    本文旨在详细介绍eXtremeTable的使用方法、配置流程及底层技术需求,以帮助开发者更好地理解和应用这一强大工具。 #### 版权声明与许可 遵循文档使用与传播的两项基本原则:一是不得收取任何费用;二是在任何形式...

    displayTag,extremeTable

    displayTag,extremeTable相关文章

Global site tag (gtag.js) - Google Analytics