Extreme Table是最功能强大而又容易配置,扩展,自定义的Table 控件。
1. ExtremeTable自带的文档.
2.Luck翻译的ExtremeTable官方文档中文版
0.概述
Extreme Table最紧要的功能是排序, 分页, 导出Excel, pdf和汇总。
1. 从http://www.extremecomponents.org/ 下载最新版
2.把extremecomponents.jar 放入web-inf/lib
3.根据minum, 导出excel 或 导出pdf的需要,把/lib下的jiarcopy到web-inf/lib
4.把images里的图片放入web的任意目录
5.把css文件放到web的任意目录
6.在/source/org/extremecomponents/table/core目录找到extremetable.properties文件,把它复制到WEB-INF/classes里面.
7.修改web.xml , 修改全局属性(见2)。
0.2 安装SpringSide的优化版本
1.将springside中的web-inf/lib/extremecomponents-springside.jar 放入web-inf/lib目录
2.将Extreme带的minum和excel jar放入
3.复制 springside中images/table下面的图片到对应目录。
4.将springside中的修改版extremecomponents.css文件放入任意目录
5.把src/extremetable.properties 复制到对应目录
6.修改web.xml , 修改全局属性。
0.3 使用Compact View
默认的式样不符合大家的审美,幸亏还有Compact View和css设置,让我们可以敬谢不敏它号称非常方便的HtmlView子类扩展。
1. 在全局设置里 table.view.html=org.extremecomponents.table.view.CompactView
2.把images里/table/compact/*.gif copy 到 /table
1.自定义及扩展
ExtremeTable比Display Tag的i一个就是良好的自定义和扩展能力,不用千人一面。
不过,人总是懒的,虽然扩展子类很容易,但能不扩展就还是不可扩展了。幸亏用Compact View再改改CSS一般就能达到要求。
1.1. 良好的CSS定义
1.直接修改css文件, 可以把table view改成任意样式
2.修改全局属性, 改变某种元素对应的css class名 table.styleClass=tableRegion
3.在某个页面的row,column tag中定义class <ec:row style=" " or styleClass=""/>
SpringSide采用层次1, 直接修改extremecomponents.css为合适的样式
1.2.方便的<tr><td>属性扩展
row与column已提供了丰富的普通属性与 javascript属性如onClick(), 如果属性仍然未够,可自行扩展<row>与<column>tag ,并通过全局属性指定新的子类名。
为了方便大家在子类扩展属性, extreme Table提供了专门的回调函数与Util函数如(详细请看手册)
public void addExtendedAttributes(Row row){
table.addAttribute(TableConstants.IDENTIFIER, TagUtils.evaluateExpressionAsString("identifier",identifier, this, pageContext));
}
1.定义真正的Java属性,setter,getter
2. tld文件中声明新的属性
3.重载输出函数将新属性打印出来
1.3 扩展HTMLView,cell 等显示组件
2.全局属性配置
ExtremeTable支持在properties文件里方便的统一配置丰富的全局属性
在/source/org/extremecomponents/table/core目录找到extremetable.properties文件,把它复制到WEB-INF/classes里面.
在web.xml里面增加
<context-param>
<param-name>extremecomponentsPreferencesLocation</param-name>
<param-value>/extremetable.properties</param-value>
</context-param>
我修改过的属性有:
table.autoIncludeParameters=false
table.filterable=false
table.view.html=org.extremecomponents.table.view.CompactView
table.locale=zh_CN
column.format.date=yyyy-MM-dd
column.format.currency=¥###,###,#00.00
row.highlightRow=true
3.导出
ExtremeTable导出的一项重要特性是可以根据不同的View导出不同的列.
比如html管理界面可能只列出订单几个最重要的列,而导出excel时则需要导出所有的列。
<ec:column property="orderdate" title="订单日期" cell="date" format="yyyy-MM-dd" viewsDenied= "html"/>
以上订单日期列在html view看不到,而excel,pdf view可以见到.
而"编辑图标","选择Checkbox"这些管理界面上的列,也可以设置不export到pdf,excel view
3.1.中文问题
中文问题一共有3处
1.文件名中文问题,重载AbstractExportFilter.java 的setResponseHeaders()函数
import org.springside.framework.utils.StrUtil;
response.setHeader("Content-Disposition", "attachment;filename=\"" + StrUtil.toUtf8(exportName) + "\"");
2.导出xls
重载XlsView.java,在body()和createHeader()处加
hssfCell.setEncoding(HSSFCell.ENCODING_UTF_16);
3.导出pdf
较长,看http://forum.iteye.com/viewtopic.php?p=108909#108909 ,不过我更希望等它ExtremeTable自己升级
springside的做法是放弃导出前pdf, 直接修改前两个函数并压回jar内.(放弃导出pdf还可以省3M jar,hehe)
4.其他要点
4.1. 使用排序功能时,如果property为嵌套属性时,需要设置alias 因为javascript的关系.
<ec:column property="customer.name" title="客户名称" alias="customer"/>
4.2. Date Cell与NumberCell
在全局属性定义:
column.format.date= yyyy-MM-ddcolumn.format.currency= ¥###,###,#00.00
<ec:column property="totalprice" title="总金额" cell="currency" width="80" />
<ec:column property="shipdate" title="发货日期" cell="date" width= "80"/>
4.3. 汇总
在column中加入两个cac属性,就会自动在table的底端显示汇总
<ec:column property="totalprice" title="总金额" cell="number" format="###,###,##0.00" calc="total" calcTitle= "汇总:"/>
4.4 i18N
4.4.1 column Title的i18N
在Web.xml里面增加
<context-param>
<param-name>extremecomponentsMessagesLocation</param-name>
<param-value>messages</param-value>
</context-param>
<ec:column property="name" title="book.name"/>
4.4.2 按钮的i18n
extreme table的默认zh_CN已支持中文了,但有些信息不支持,所以自己再实现了一个properties文件,日后如果他跟上了可以去掉.
全局定义里
table.locale=zh_CN
为 source/org/extremecomponents/table/resource/extremetableResourceBundle_zh_CN.properties 补齐以下几项
toolbar.firstPageText=\u7b2c\u4e00\u9875
toolbar.lastPageText=\u6700\u540e\u9875
toolbar.nextPageText=\u4e0b\u4e00\u9875
toolbar.prevPageText=\u4e0a\u4e00\u9875
springside把他直接压回jar.
也可以copy 到src下面
web.xml增加
<context-param>
<param-name>extremecomponentsMessagesLocation</param-name>
<param-value>extremetableResourceBundle</param-value>
</context-param>
4.5 不显示导出excel及分页
最快的方式是设置table的showStatusBar= false
<ec:table items= "order.orderItems"var="item" action="" showStatusBar= "false">
相关推荐
ecside是一个开源的列表框架,方便的实现翻页,导出,选择,展示,数据编辑等,我们在项目中都有用到。 附件为:ecside_2.0_RC1.jar
**标题解析:**"ecside_for_hibernate" 这个标题表明了我们即将探讨的是一个与Hibernate相关的项目,其中整合了ecside框架。Hibernate是一个强大的Java ORM(对象关系映射)框架,它允许开发者用面向对象的方式来...
【ecside_1.1】是一款基于Java技术的开源项目,其主要目标是提供一个高效、易用且灵活的Web应用开发框架。这个版本(1.1_rc4)是ecside的一个候选发布版本,旨在改进前一版本的功能,并修复已知问题。在描述中提到的...
**ecSide 2.0 Beta3 标签使用说明** ecSide是一款强大的Web开发框架,其2.0 Beta3...通过深入理解并熟练运用ecSide的标签系统,开发者能够更加高效地编写出结构清晰、易于维护的Web应用,提升开发效率,降低项目风险。
ecside src ecside_2.0_RC1.jar
标题中的"ecside所需的jar文件"指的就是与一个名为ecside的项目或框架相关的JAR文件集合。这些文件是开发者在使用ecside时必须包含的依赖,以便程序能够正常运行。 首先,我们来详细了解一下每个标签所代表的JAR...
ecside2的操作 对于学习很有帮助的!
- **CSS和JS引用**:在页面头部加入Ecside的样式表(如`ecside_style.css`)和JavaScript文件,确保列表的样式和交互功能得以实现。 - **使用Ecside标签**:在JSP页面中使用`ec`前缀的标签,如`<ec:table>`,来定义...
ecside2.0RC1项目包,引入即可运行,无需额外的jar包。 ECSide是有一个基于jsp tag的开源列表组件. 简单的说,它就是一组可以帮助你快速实现强大的列表的jsp标签. 它的工作原理很简单. 您将要展现的列表的数据集合...
ECSide是一款基于Java开发的Web项目管理工具,主要用于协助开发者进行Web应用的开发、调试和维护工作。这个压缩包包含的"Web项目所需ecside全部文件"是ECSide的完整组件,使得用户能够在本地环境中顺利运行和使用...
5. **社区支持与文档**:作为开源项目,ECSide有活跃的开发者社区,可以获取到及时的技术支持和问题解答。压缩包中的 **Java_Side.pdf** 文件很可能是ECSide的官方文档,详细介绍了框架的安装、配置、使用方法以及...
使用 `ecside` 开始新项目,你需要创建一个配置目录,这通常包含 `ecschema.xml` 和其他相关配置文件。`ecschema.xml` 是项目的核心配置,它定义了数据库连接信息、数据表结构以及生成的 Java 模型类、DAO 类和控制...
ECSide,全称为Extreme Components Side,是一个开源的JSP列表组件,源于eXtremeComponents项目,但已独立发展并拥有自己的特色。这个组件专注于提供列表的显示功能,同时支持单表操作,如增、删、改、查。ECSide以...
"ecside2_demo.rm" 文件可能是这个教程的演示项目,它可能包含了一个完整的 EcSide2.0 应用实例,让你能够实际操作并学习如何配置和运行一个基于 EcSide2.0 的Web应用。在学习这个教程时,你可以通过分析和运行这个...
ECSIDE项目集成了**JSP列表组件**,不仅支持基本的列表展示,还涵盖了单表的增删改查操作。值得注意的是,这些功能的实现并不局限于简单的前端展示,而是深入至数据库层面,确保在处理大量数据时仍能保持优秀的性能...
ecside1.0RC1项目包,引入即可运行,无需额外的jar包。 ECSide是有一个基于jsp tag的开源列表组件. 简单的说,它就是一组可以帮助你快速实现强大的列表的jsp标签. 它的工作原理很简单. 您将要展现的列表的数据集合...
在解压后的文件中,`473b483f-45bb-47cc-8a3f-7528b2deb56a` 可能是一个项目的唯一标识或版本号,而 `ecside源码` 目录则包含了 ecSide 框架的所有源代码。开发者可以通过深入研究这个目录下的各个模块和文件,了解...
4. **项目实战**:尝试将ECSide应用于自己的项目中,解决实际问题,进一步提升技能。 总的来说,这份资料集合提供了全面学习和使用ECSide的资源,无论是初学者还是有经验的开发者,都能从中获益。通过系统学习,你...