簡介
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、增加了若干種cell 和 headerCell,例如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, 來加入圖表功能, 以達到更加完美地實現。