`

ExtremeComponents学习总结

阅读更多

ExtremeComponents学习总结

http://wiki.springside.org.cn/display/springside/ExtremeComponents
1. 安装
  
  (1)、将extremecomponents.tld复制到WEB-INF/目录下
   (2)、将extremecomponents-1.0.1.jar复制到WEB-INF/LIB目录下
    (3)、将extremecomponents.css和extremecomponents.JS复制到相应的目录中
   (4)、编辑属性文件extremecomponents.properties如下:
table.filterable = true
table.imagePath=/images/table/*.gif
table.locale=zh_CN
table.view.html=org.extremecomponents.table.view.CompactView
row.highlightRow=true
column.format.date=yyyy-MM-dd
column.format.currency=###,###,###,###,#00.00
    (5)、在web.xml作如下配置:
<context-param>
<param-name>extremecomponentsPreferencesLocation</param-name>
<param-value>/extremecomponents.properties</param-value>
</context-param>
<filter>
<filter-name>eXtremeExport</filter-name>
<filter-class>
org.extremecomponents.table.filter.ExportFilter
</filter-class>
<init-param>
<param-name>responseHeadersSetBeforeDoFilter</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>eXtremeExport</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

ExtremeComponents 安装文件在/components/web/extremetable/ 下,包括jar文件,images图片和css文件以及properties文件。以及web.xml,sample.jsp 示例。

<script type="text/JavaScript" src="<%=path%>/script/prototype.js"></script>
    <script type="text/JavaScript" src="<%=path%>/script/fogjavascript.js"></script>
    <script type="text/JavaScript" src="<%=path%>/script/move.js"></script>
   
    <script type="text/javascript">
       function loadData(){
         
          var divObj = $('initUserBeanData');
showLoading(divObj);

//load prop data
var url = '<%=path %>/listUserBean.action';
var paras = "";
        var myAjax = new Ajax.Updater(
                    {success: 'initUserBeanData'},
                    url,
                    {method: 'get',parameters: paras,asynchronous: true});
       }
   
    function showLoading(divObj){
divObj.innerHTML="<table width=\"100%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\"><tr><td><img src='<%=path%>/images/indicator.gif'>正在处理数据&nbsp;</td></tr></table>";
}

连环指定:
images文件,css文件,properties文件可随意摆放
properties文件中指定images文件的位置,web.xml中指定properties文件的位置,实际jsp中指定css的位置。
用springside的构件安装命令能自动完成默认的安装(双击项目的的build.bat,  选择add-component, 再选web/extremetable)
2.Tips
2.1.Compat View
默认的式样不符合大家的审美,幸亏还有Compact View和css设置,让我们可以敬谢不敏它号称非常方便的HtmlView子类扩展。在全局设置里设置
table.view.html=org.extremecomponents.table.view.CompactView
2.2.导出Excel
    Excel 导出的Tag:(官方版不支持中文文件名)。  <ec:exportXls fileName="BookList.xls" tooltip="导出 Excel"/>
    ExtremeTable导出的一项重要特性是可以根据不同的View导出不同的列.
     比如html管理界面可能只列出订单几个最重要的列,而导出excel时则需要导出所有的列。<ec:column property="orderdate" title="订单日期"  cell="date" format="yyyy-MM-dd"  viewsDenied= "html"/>
     又比如有些操作按纽如修改按钮只在html管理界面出现,excel里不想出现:<ec:column property="null" title="修改" viewsAllowed="html">
使用排序功能时,如果property为嵌套属性时,需要设置alias
      因为javascript的关系.<ec:column property="customer.name" title="客户名称" alias="customer"/>
2.3. Date Cell与NumberCell 和RowCountCell
     在全局属性定义:
column.format.date= yyyy-MM-dd
column.format.currency= ¥###,###,#00.00
//jsp代码<ec:column property="totalprice" title="总金额" cell="currency" width="80" />
<ec:column property="shipdate" title="发货日期"  cell="date" width= "80"/>
<ec:column property="rowcount" cell="rowCount" sortable="false" title="序号" width="60"/>
2.4 汇总
在column中加入两个cac属性,就会自动在table的底端显示汇总
<ec:column property="totalprice" title="总金额" cell="number" format="###,###,##0.00" calc="total" calcTitle= "汇总:"/>
2.5. i18N
在Web.xml里面指定i18N的Properties文件:
<context-param>
<param-name>extremecomponentsMessagesLocation</param-name>
  <param-value>messages</param-value>
</context-param>
<ec:column property="name" title="book.name"/>
EC的算法是先去i18n文件中寻找book.name,如果找不到该key,则显示book.name。所以如果不想i18n, title处可以直接填中文。
2.6. 数据库分页
EC默认从数据库中查找所有记录然后由它来分页,如果查询结果较大,可以考虑使用数据库端分页的方案。
此时,EC会使用Limit对象向Controller传递PageNo,PageSize,OrderBy等分页信息。而服务端将向EC返回总记录数和当前页的内容。
2.7.不显示导出excel及分页
最快的方式是设置table的showStatusBar= false
<ec:table  items= "order.orderItems"var="item" action=""   showStatusBar= "false">
3. 自定义样式与扩展Cell
ExtremeTable比Display Tag的i一个就是良好的自定义和扩展能力,不用千人一面。
3.1 良好的CSS定义
         ExtremeTable 的CSS定义非常严谨, 并且提供很多个层次的修改方式:
         1.直接修改css文件, 可以把table view改成任意样式
         2.修改全局属性, 改变某种元素对应的css class名table.styleClass=tableRegion
         3.在某个页面的row,column tag中定义class <ec:row style="" or styleClass=""/>
         一般都是采用方法1直接修改。
3.2 方便的<tr><td>属性扩展
        row与column已提供了丰富的普通属性与 javascript属性如onClick(), 如果属性仍然未够,可自行扩展<row>与<column>tag ,并通过全局属性指定新的子类名。
   为了方便大家在子类扩展属性, extreme Table提供了专门的回调函数与Util函数如
public void addColumnAttributes(Column column){
column.addAttribute("customAttributeOne", customAttributeOne);
}
详细请看手册,Table, Row,Column都提供相同的扩展:
http://extremecomponents.org/wiki/index.php/Column#Extended_Attributes
如果不是Extremetable的特别支持, 普通taglib class要扩展属性的话:
        1.定义真正的Java属性,setter,getter
        2. tld文件中声明新的属性
        3.重载输出函数将新属性打印出来
3.3 扩展HTMLView,cell 等显示组件
     Extreme Table在这些类的扩展上放便很多,但这个版本里我还没有进行尝试,就不写了。请自行参考官方文档:http://extremecomponents.org/wiki/index.php/Html_View_Tutorial  .

分享到:
评论

相关推荐

    eXtremeComponents学习总结

    【eXtremeComponents学习总结】 eXtremeComponents(ec)是一套强大的开源JSP定制标签库,专为提供高级数据显示而设计。核心组件eXtremeTable用于以表格形式展示数据,适用于需要动态、高效展示大量信息的Web应用...

    extremecomponents

    "extremecomponents" 是一个基于Java的组件库,它为开发者提供了丰富的用户界面(UI)组件,用于构建复杂的Web应用程序。这个库特别注重性能和可定制性,使其成为企业级应用开发的理想选择。在...

    eXtremeComponents

    eXtremeComponents控件指南

    eXtremeComponents组件

    此外,“eXtremeComponents的事例”则意味着压缩包中可能包含了一些示例代码或应用程序,展示如何有效地利用这些组件,帮助开发者理解和学习如何在实际项目中应用它们。 "extreme 列表组件"是eXtremeComponents中的...

    eXtremeComponents详尽文档包

    总之,eXtremeComponents详尽文档包是学习和精通EC组件的宝贵资源,它提供了一条从新手到熟练开发者的学习路径。通过深入学习和实践,开发者可以充分利用EC组件的强大功能,创建出高效、美观且用户友好的Java Swing...

    eXtremeComponents-1.0.1+中文API___分页工具

    总结起来,eXtremeComponents-1.0.1+中文API分页工具是Java Swing开发者的强大助手,它通过易用的API和实例代码,为开发者提供了便捷的分页解决方案。无论是初次接触还是经验丰富的开发者,都能从中受益,提升项目的...

    extremecomponents 包

    extremecomponents 包

    extremeComponents开发指南

    extremeComponents开发指南,快速掌握extremeComponents开发

    eXtremeComponents介绍

    **eXtremeComponents介绍** eXtremeComponents(简称EC)是一套强大的Java组件库,主要用于构建企业级的Web应用程序。它以其高效、灵活和高度可定制的特点,在开发社区中受到广泛的关注。EC旨在提高开发人员的工作...

    eXtremeComponents详解

    通过深入学习和实践,开发者可以充分利用eXtremeComponents的强大功能,为自己的Java应用带来卓越的数据处理和展示体验。同时,持续关注社区更新和文档,能保持对EC的最新进展有所了解,以便在项目中更好地应用这些...

    extremeComponents源代码

    通过研究 ExtremeComponents 的源代码,开发者不仅可以了解组件库的工作原理,还能学习到最佳实践和最新技术趋势,提升自己的Web开发技能。同时,这也为自定义和扩展组件提供了可能,以满足特定项目的需求。

    eXtremeComponents 源代码

    总的来说,eXtremeComponents源代码和.jar包为Java开发者提供了一套强大的组件工具箱,通过学习和使用这些组件,开发者可以更高效地开发出功能丰富、用户体验优秀的Java应用程序。同时,开源的特性也鼓励了社区的...

    eXtremeComponents-1.0.4.zip

    《深入理解eXtremeComponents:打造高效JSP表格展示》 在Web开发领域,高效地展示数据是一项至关重要的任务,特别是在使用Java Server Pages (JSP) 的项目中。eXtremeComponents 是一个功能强大的组件库,尤其以其...

    eXtremeComponents-1.0.3

    【eXtremeComponents-1.0.3】是一个软件组件包,它的出现是为了提供一套高效、易用的开发工具,以帮助程序员在构建应用程序时提高生产力和代码质量。这个版本1.0.3是该组件集合的一个稳定版本,用户反馈良好,表明它...

    eXtremeComponents1.0.1.jar

    eXtremeComponents1.0.1.jar

    eXtremeComponents控件分页导出数据Demo.rar

    总之,"eXtremeComponents控件分页导出数据Demo"是一个很好的学习资源,它直观地展示了如何在.NET环境中利用eXtremeComponents控件处理大数据集的分页和导出。通过对这个Demo的深入研究和实践,开发者可以更好地掌握...

    extremeComponents中文文档

    在"extremeComponents中文文档"中,您将找到关于如何配置和有效利用这些组件的详细指南。 1. **组件概述** extremeComponents 包含了多种组件,如表格、树形视图、面板、对话框、菜单、表单元素等。这些组件都...

    eXtremeComponents jar+doc+example

    "eXtremeComponents jar+doc+example" 是一个针对数据展示插件的资源包,主要包含`ECTable`的组件。这个插件是IT领域中用于数据展示的强大工具,以其出色的界面设计和丰富的功能而受到青睐。它不仅提供美观的表格...

    eXtremeComponents-1.0.1.jar

    eXtremeComponents组件,导出Excel或pdf文件的jar包

Global site tag (gtag.js) - Google Analytics