ECSide

ECSide

ecside,是一個開源的列表組件。

簡介


ecside是一個開源的列表組件。
他源自著名開源列表組件 eXtremeComponents ,
但現在已經脫離eXtremeComponents,獨立發展(仍有大量代碼來自 eXtremeComponents)。
“做最實用易用的列表組件”是ecside最終的目標。

前言


在使用前,請閱讀一下以下信息,以幫助您了解您要使用的將是一個多麼不成熟的東西(但它會有成熟的一天,而且那天不會遠):
1、ecside不能和原始版本的 eXtremeComponents 同時使用,且不保證能與原先使用 eXtremeComponents 的系統兼容。
2、目前只支持GBK編碼的應用。
3、目前只在IE6 和FireFox2 上進行過測試,不保證兼容其他(版本)瀏覽器。
4、目前提供的樣式風格巨丑無比。
5、目前沒有完備的文檔和例子。
6、代碼沒有註釋,沒有測試用例
7、沒有很好的版本控制,沒有構建腳本。
8、存在未知的bug。

主要功能


主要增強的功能:
1、可設置工具條位置(上、下 或 不顯示) 。
2、可設置工具條內容(顯示哪些 不顯示哪些) 。
3、可設置工具條上各個功能按鈕的相對位置。
4、增加了調整頁大小的選擇框,並可自定義選擇框內的內容。
5、增加了帶有鄰近頁面的導航條。
6、增加了可跳轉到指定頁面的跳轉框。
7、增加了當前選中行高亮。
8、為ec:table 增加了 excludeParameters 和 includeParameters 屬性,可以實現更快捷簡便的“參數保留/不保留”功能。
9、可添加自定義的html代碼到工具條內 或其他位置。
10、可手動調整列寬。
11、增加了“列表內部滾動條”(實現列表頭固定,列表體滾動的功能) 。
12、為ec:row和ec:column 添加更多的html事件支持,現支持:onmouserover onmouserout onclick ondbclick 。
13、為ec:table ec:row ec:column增加了自定義擴展屬性功能。
14 、增加 ec:extendrow 標籤,實現列表擴展行的功能。
15 、增加shadowRow(影子行)功能:每行下面可以再加一個子行 這個行里顯示什麼可以自己定義。
16、增加頁面變數 ${TOTALROWCOUNT} 用來標示當前紀錄在全部記錄中的行數。
17 、增加了列印功能(尚不完善) 。
18、ec:column屬性增加 ellipsis ,實現單元格內數據過長的時候 自動截短並加"..."的功能(IE Only) 。
19、實現了跨列的列表頭。
20、統計欄的標題格可跨列。
21、增加了若干種cellheaderCell,例如checkbox radio 。
22、取消了imagePath屬性,樣式相關的圖片信息全部提入css內。
23、重(第4聲)用了js 和css ,很多功能用js來實現。
24、支持了ajax翻頁。
25、支持預查詢功能,在察看第n頁的時候,把n+1頁的數據也查詢出來(隱藏著)備用,加快查看下一頁的速度。
26、將導出excel所使用的組件由poi切換成了 jxl 。
27、xls導出方式修改 原始的導出是導出的vo/map里的原始數值 現在是導出頁面實際顯示的內容。
28、增加簡捷導出方式 (通過ec:table的 xlsFileName pdfFileName csvFileName屬性) 。
29、支持pdf中文導出。
30、代碼進行了大規模的重構。
31、增加了很多ajax相關特性。
32、實現了可編輯列表功能 以及cell的映射功能。

工作原理


ECSide是有一個基於jsp tag的開源列表組件。
簡單的說,它就是一組可以幫助你快速實現強大的列表的jsp標籤。
它的工作原理很簡單:
您將要展現的列表的數據集合(Collection),放入request/pageContext/session內(使用setAttribute方法。這個工作可以在action/servlet里完成,也可以在jsp頁面內完成),然後頁面跳轉到使用ECSide標籤的jsp頁面,此時ECSide就可以幫助您展現出所需要的列表。
一個簡單的流程通常是這樣的:
1、客戶端請求action/servlet。
2、action接受到請求后,調用相應的BO/dao,執行取列表數據的方法。
3、取得數據后(通常是一個vo/map的list),將數據放入request內(使用requset.setAttribute(key,value)方法。
4、將請求forward到使用ECSide標籤的jsp頁面。
5、ECSide將展現出列表。
而一般Grid把數據以list形式呈現, 有時又需要配合圖表, 可以結合我上一篇介紹fusioncharts控制項使用的博文Web開發系列 - FusionCharts, 來加入圖表功能, 以達到更加完美地實現。