Extremecomponents
<o:p></o:p>
0.概述
<o:p></o:p>
Home Page:http://www.extremecomponents.org
<o:p></o:p>
Extreme Table是最功能强大而又容易配置,扩展,自定义的Table 控件。
<o:p></o:p>
最紧要的功能包括排序, 分页, 导出Excel, pdf和汇总。
<o:p></o:p>
springside的best 示例代码在: listBook.jsp和listOrder.jsp.
<o:p></o:p>
基础读物:
<o:p></o:p>
1. ExtremeTable自带的文档 .
<o:p></o:p>
2.Luck翻译的ExtremeTable官方文档中文版
<o:p></o:p>
1. 安装
1.1 安装原始版本
1. 从http://www.extremecomponents.org 下载最新版
<o:p></o:p>
2.把extremecomponents.jar 放入web-inf/lib
<o:p></o:p>
3.根据minum, 导出excel 或 导出pdf的需要,把/lib下的jar copy到web-inf/lib
<o:p></o:p>
4.把images里的图片放入web的任意目录
<o:p></o:p>
5.把css文件放到web的任意目录
<o:p></o:p>
6.在/source/org/extremecomponents/table/core目录找到extremetable.properties文件,把它复制到WEB-INF/classes里面并进行修改.
<o:p></o:p>
7.修改web.xml (见2)。
<o:p></o:p>
0.2 复制SpringSide的样式
1.Copy springside的Table Head的图,查。
<o:p></o:p>
2.将springside中的修改版extremecomponents.css文件放入任意目录
<o:p></o:p>
3.把/src/resource/extremetable.properties 复制到对应目录
<o:p></o:p>
0.3 使用Compact View很重要
默认的式样不符合大家的审美,幸亏还有Compact View和css设置,让我们可以敬谢不敏它号称非常方便的HtmlView子类扩展。
<o:p></o:p>
1. 在全局设置里
<o:p></o:p>
table.view.html=org.extremecomponents.table.view.CompactView
2.把images里/table/compact/*.gif copy 到 /table
<o:p></o:p>
2.全局属性配置
ExtremeTable支持在properties文件里方便的统一配置丰富的全局属性
<o:p></o:p>
在/source/org/extremecomponents/table/core目录找到extremetable.properties文件,把它复制到WEB-INF/classes里面.
<o:p></o:p>
在web.xml里面增加
<o:p></o:p>
<context-param> <param-name>extremecomponentsPreferencesLocation</param-name> <param-value>/extremetable.properties</param-value> </context-param>
一般只写需要修改的文件:
<o:p></o:p>
table.filterable=falsetable.imagePath=/images/table/*.giftable.locale=zh_CNtable.view.html=org.extremecomponents.table.view.CompactViewrow.highlightRow=truecolumn.format.date=yyyy-MM-ddcolumn.format.currency=###,###,###,###,#00.00
3.导出Excel
注意Excel 导出的Tag已改为,且官方版不支持中文文件名。
<o:p></o:p>
<ec:exportXls fileName="BookList.xls" tooltip="导出 Excel"/>
在web.xml必须加入:
<o:p></o:p>
<filter> <filter-name>eXtremeExport</filter-name> <filter-class>org.extremecomponents.table.filter.ExportFilter</filter-class> </filter> <filter-mapping> <filter-name>eXtremeExport</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
ExtremeTable导出的一项重要特性是可以根据不同的View导出不同的列.
<o:p></o:p>
比如html管理界面可能只列出订单几个最重要的列,而导出excel时则需要导出所有的列。
<o:p></o:p>
<ec:column property="orderdate" title="订单日期" cell="date" format="yyyy-MM-dd" viewsDenied= "html"/>
又比如有些操作按纽的列只想在html出现,excel里不想出现:
<o:p></o:p>
<ec:column property="orderdate" title="订单日期" viewAllowed= "html"/>
以上订单日期列在html view看不到,而excel,pdf view可以见到.
<o:p></o:p>
而"编辑图标","选择Checkbox"这些管理界面上的列,也可以设置不export到pdf,excel view
<o:p></o:p>
4.其他要点
<o:p></o:p>
4.1. 使用排序功能时,如果property为嵌套属性时,需要设置alias
因为javascript的关系.
<o:p></o:p>
<ec:column property="customer.name" title="客户名称" alias="customer"/>
4.2. Date Cell与NumberCell 和RowCountCell
在全局属性定义:
<o:p></o:p>
<o:p></o:p>
column.format.date= yyyy-MM-dd
column.format.currency= ¥###,###,#00.00
<ec:column property="totalprice" title="总金额" cell="currency" width="80" /><ec:column property="shipdate" title="发货日期" cell="date" width= "80"/><e
其中RowCountCell用于显示序号。
<o:p></o:p>
4.3. 汇总
在column中加入两个cac属性,就会自动在table的底端显示汇总
<o:p></o:p>
<o:p></o:p>
<ec:column property="totalprice" title="总金额" cell="number" format="###,###,##0.00" calc="total" calcTitle= "汇总:"/>
4.4 i18N
在Web.xml里面指定i18N的Properties文件
<o:p></o:p>
<context-param> <param-name>extremecomponentsMessagesLocation</param-name> <param-value>messages</param-value></context-param>
<ec:column property="name" title="book.name"/>
4.5数据库分页
EC默认从数据库中查找所有记录然后由它来分页,如果查询结果较大,可以考虑使用数据库端分页的方案。
<o:p></o:p>
此时,EC会使用Limit对象向Controller传递PageNo,PageSize,OrderBy等分页信息。而服务端将向EC返回总记录数和当前页的内容,具体请参看 BookController。
<o:p></o:p>
4.6不显示导出excel及分页
最快的方式是设置table的showStatusBar= false
<o:p></o:p>
<ec:table items= "order.orderItems"var="item" action="" showStatusBar= "false">
4.7ImagePath
旧版EC包括其文档都在每个table tag里定义ImagePath, 新版已经可以自动插入ContextPath,只需在properties文件定义table.imagePath=/images/table/*.gif即可
<o:p></o:p>
5.自定义及扩展
ExtremeTable比Display Tag的i一个就是良好的自定义和扩展能力,不用千人一面。
不过,人总是懒的,虽然扩展子类很容易,但能不扩展就还是不可扩展了。幸亏用Compact View再改改CSS一般就能达到要求。
<o:p></o:p>
5.1. 良好的CSS定义
ExtremeTable 的CSS定义非常严谨, 并且提供很多个层次的修改方式:
<o:p></o:p>
1.直接修改css文件, 可以把table view改成任意样式
<o:p></o:p>
2.修改全局属性, 改变某种元素对应的css class名
<o:p></o:p>
table.styleClass=tableRegion
3.在某个页面的row,column tag中定义class
<o:p></o:p>
<ec:row style="" or styleClass=""/>
SpringSide采用层次1, 直接修改extremecomponents.css为合适的样式
<o:p></o:p>
5.2方便的<tr><td>属性扩展
row与column已提供了丰富的普通属性与 javascript属性如onClick(), 如果属性仍然未够,可自行扩展<row>与<column>tag ,并通过全局属性指定新的子类名。
<o:p></o:p>
为了方便大家在子类扩展属性, extreme Table提供了专门的回调函数与Util函数如
<o:p></o:p>
public void addColumnAttributes(Column column) {
column.addAttribute("customAttributeOne", customAttributeOne);}
<o:p></o:p>
<o:p></o:p>
详细请看手册,Table, Row,Column都提供相同的扩展:
http://extremecomponents.org/wiki/index.php/Column#Extended_Attributes
<o:p></o:p>
如果不是Extremetable的特别支持, 普通taglib class要扩展属性的话:
1.定义真正的Java属性,setter,getter
2. tld文件中声明新的属性
3.重载输出函数将新属性打印出来
<o:p></o:p>
5.3 扩展HTMLView,cell 等显示组件
Extreme Table在这些类的扩展上放便很多,但这个版本里我还没有进行尝试,就不写了。请自行参考官方文档
分享到:
相关推荐
"extremecomponents" 是一个基于Java的组件库,它为开发者提供了丰富的用户界面(UI)组件,用于构建复杂的Web应用程序。这个库特别注重性能和可定制性,使其成为企业级应用开发的理想选择。在...
**eXtremeComponents-1.0.1+中文API 分页工具详解** 在软件开发中,尤其是在处理大量数据时,分页功能是必不可少的。它使得用户可以更有效地浏览和管理信息,避免一次性加载过多内容导致的性能问题。本文将深入探讨...
eXtremeComponents控件指南
"eXtremeComponents组件"是一组用于软件开发的组件,尤其在创建高效、功能丰富的用户界面时,这些组件能够极大地提升开发效率和用户体验。eXtremeComponents通常包括一系列的列表控件和其他UI元素,它们设计精良,...
**eXtremeComponents详尽文档包** eXtremeComponents(简称EC)是一个功能强大的组件库,专门针对Java Swing应用程序设计。这个详尽的文档包是为初学者准备的,旨在帮助他们快速掌握EC组件的使用和开发技巧。通过一...
《eXtremeComponents控件分页导出数据Demo详解》 在软件开发过程中,高效的数据展示和管理是至关重要的。eXtremeComponents控件系列以其强大的功能和灵活的定制性,在.NET平台上赢得了广大开发者的一致好评。尤其是...
《深入理解eXtremeComponents:打造高效JSP表格展示》 在Web开发领域,高效地展示数据是一项至关重要的任务,特别是在使用Java Server Pages (JSP) 的项目中。eXtremeComponents 是一个功能强大的组件库,尤其以其...
"eXtremeComponents jar+doc+example" 是一个针对数据展示插件的资源包,主要包含`ECTable`的组件。这个插件是IT领域中用于数据展示的强大工具,以其出色的界面设计和丰富的功能而受到青睐。它不仅提供美观的表格...
**eXtremeComponents详解** eXtremeComponents(简称EC)是一款专为Java开发者设计的开源组件库,它提供了一系列强大的列表展示组件,适用于构建数据密集型的应用程序。EC的核心特性包括支持分页显示、数据导出到...
**eXtremeComponents介绍** eXtremeComponents(简称EC)是一套强大的Java组件库,主要用于构建企业级的Web应用程序。它以其高效、灵活和高度可定制的特点,在开发社区中受到广泛的关注。EC旨在提高开发人员的工作...
【eXtremeComponents-1.0.3】是一个软件组件包,它的出现是为了提供一套高效、易用的开发工具,以帮助程序员在构建应用程序时提高生产力和代码质量。这个版本1.0.3是该组件集合的一个稳定版本,用户反馈良好,表明它...
extremeComponents开发指南,快速掌握extremeComponents开发
"ExtremeComponents"是一个开源项目,其源代码包含了用于构建Web应用程序的组件库。这个库主要设计用于提高开发效率,提供了一系列高效、可定制且功能丰富的Web UI组件。这些组件通常包括表格、表单、菜单、按钮等...
在"extremeComponents中文文档"中,您将找到关于如何配置和有效利用这些组件的详细指南。 1. **组件概述** extremeComponents 包含了多种组件,如表格、树形视图、面板、对话框、菜单、表单元素等。这些组件都...
【eXtremeComponents 源代码】是一个与Java编程相关的资源,主要包含有源代码和.jar包。这个开源项目提供了丰富的组件集合,为开发者在构建Java应用程序时提供了便利。eXtremeComponents的设计目标是提高开发效率,...
eXtremeComponents1.0.1.jar
本教程将详细介绍如何利用eXtremeComponents(XC)标签库中的组件来实现一个分页实例。eXtremeComponents是一个强大的JavaServer Faces (JSF)组件库,提供了丰富的UI元素,包括用于分页的组件。 首先,我们需要了解...
eXtremeComponents组件,导出Excel或pdf文件的jar包