ecside介紹:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ecside是一個開源的列表組件。
他源自著名開源列表組件 eXtremeComponents (http://www.extremecomponents.org),
但現在已經脫離eXtremeComponents,獨立發展(仍有大量代碼來自 eXtremeComponents)。
“做最實用易用的列表組件”是ecside最終的目標。
作者: fins ( name: Wei Zijun email:fins@163.com blog:http://fins.javaeye.com )
在使用前,請閱讀一下以下信息,以幫助您了解您要使用的將是一個多么不成熟的東西(但它會有成熟的一天,而且那天不會遠 呵呵):
1 ecside不能和原始版本的 eXtremeComponents 同時使用,且不保證能與原先使用 eXtremeComponents 的系統兼容,請見諒。
2 目前只支持GBK編碼的應用,請見諒。
3 目前只在IE6 和FireFox2 上進行過測試,不保證兼容其他(版本)瀏覽器,請見諒。
4 目前提供的樣式風格巨丑無比,請見諒。
5 目前沒有完備的文檔和例子,請見諒。
6 代碼沒有注釋,沒有測試用例,請見諒。
7 沒有很好的版本控制,沒有構建腳本,請見諒。
8 擁有無數未知的bug,請見諒。
ecside發布地址:
http://fins.javaeye.com/blog/40190
ecside發布地址:
http://fins.javaeye.com/blog/40190
ecside圈子:
http://ecside.javaeye.com/
ecside綜合討論專用帖
http://fins.javaeye.com/blog/48723
其他出色的列表組件(有些是收費的):
eXtremeComponents原始版 ( http://www.extremecomponents.org )
dhtmlXGrid ( http://scbr.com/docs/products/dhtmlxGrid/ )
displaytag ( http://displaytag.sourceforge.net )
nitobi grid ( http://www.nitobi.com/products/grid/ )
ActiveWidgets gird ( http://www.activewidgets.com/grid/ )
rico livegrid ( http://openrico.org/rico/livegrid.page )
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
主要增強的功能:
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的映射功能
... ...
更新日志:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
新增加的特性通常都在 demo.do.jsp這個例子里進行演示。
===============================
2007-01-21 15點
===============================
對于以下更新,demo.do.jsp進行了修改,大家看看例子可能會更好理解.
1) 實現了cell的映射功能(詳見示例的性別 和 角色列),用法:
了一個簡單的小標簽 用來從map生成 select的option列表。
xml 代碼
- <ec:column mappingItem="用來映射的MAP在context內的key" mappingDefaultValue="當找不到映射值時要使用的默認值".../>
例如,在示例中,角色的信息以 “標識--名稱”的形式放到了一個 map內
在action中 把這個map放到了 request.setAttribute("USERROLE_MAP", CommonDictionary.USERROLE);內
在頁面使用
xml 代碼
- <ec:column property="USERROLE" title="角色" mappingItem="USERROLE_MAP" mappingDefaultValue="[錯誤的角色]"/>
就會自動將名稱顯示出來。
2) 做
xml 代碼
- <ec:options items="MAP在context內的key" defaultKey="默認選中的option的value" tagAttributes="附加的html屬性"/>
3) 對ec:extend標簽做了擴充,增加了位置設置屬性 location
top: form內列表主體前 ; bottom : form內列表主體后
toolbar或不設置location屬性 在toolbar的擴展位置.
4) 代碼進行了一點點修改,對使用沒有影響。
===============================
2007-01-20 9點 ECSIDE 1.0 RC1 發布啦
===============================
沉寂兩天,但一直沒有閑著,帶來了大變化 索性來個 1.0 RC1 版 :) 。
1) 實現了靈活的可定制的“可編輯列表”功能 (詳見help.txt 200行左右的描述 以及示例)
支持多種編輯方式(文本框 下拉框 將來還會支持更多),可自定義模版(使用自定義的文本框 下拉框),還提供了:
對可編輯列進行標識,對編輯過的cell進行標識(默認為改變單元格背景色),
使用ajax技術提交后臺,提交成功的cell將清除編輯標識 等貼心設計。
2) 增加了 高亮顯示選中行的功能,使用 ec:table屬性: selectlightRow="true"
3) 去掉了 fullnavigation導航條,將其與navigation導航條合并
改為為ec:table增加屬性 nearPageNum="數字" 用來設置導航條前后顯示的鄰近頁數 等于0時 為不使用鄰近頁。
4) 為ec:table增加了 maxRowsExported="數字" 屬性,用來限制導出大最大條數, 如果數據超過這個數目,則不執行導出操作。
5) 為之前增加的ec:table的pageSizeList屬性 增加了特性
pageSizeList="max:200,10,15,30,50,100,all" 如果 10--100以及all中,某一項大過了max的200則 不在列表中顯示。
也可以只使用pageSizeList="max:200" 此時將 使用默認設置,并進行max控制。
6) 解決了pdf中文編碼問題,終于支持pdf導出了。
7) 恢復了對sitemesh的支持,用法見原版ec文檔(我沒有親自沒有測試,因為我不會用sitemesh :( )。
8) Ajax翻頁優化,同時增加了 ECSide.findAjaxZoneAtClien 屬性,可設置 客戶端 還是 服務端進行 html代碼剪裁。
默認推薦使用 服務器端。
9) 再次對js和java代碼進行了較大規模的重構,清理了一些無用代碼,添加了必要的協議信息。
10) 一些細節的修改(例如對滾輪的支持更自然,filterable="true"手動調節列寬功能屏蔽等)
還有對一些小bug的修正,但是由于變化較大,肯定還會帶來一些新bug。
11) 整個示例的應用逐步發展為 ecside 的最佳實踐,加入了hsqldb(hsqldb的使用參考了springside),全新的例子。
當然還不夠好 會在以后的日子里繼續完善。
12) 做了一個簡單的logo :)。
順便問一下:
我使用了 springside 的 HsqlListener (做了些修改 但絕對不涉及到核心),為什么在每次重啟應用的時候總是包下面的異常呢??
Exception in thread "HSQLDB Timer @15d63da" java.lang.NullPointerException
at org.hsqldb.lib.HsqlTimer.nextTask(Unknown Source)
at org.hsqldb.lib.HsqlTimer$TaskRunner.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
===============================
2007-01-16 14點
===============================
1) 當使用“列表內部滾動條”時,可以使用百分比來設置列表的寬度了。
(但還是建議您使用像素(px)作為列表和列的寬度單位,因為百分還有一些小bug)
還有個建議 不管是使用什么樣的寬度,建議都要使用一個“自動寬度”的column,
就是說不要給所有的ec:column都指定width,給其中一個點“自由”,這樣很多已知的關于列寬調整的問題都可以解決。
2) 對eccn.js進行了大量的修改,提供了更好(但不完美)的IE和FF兼容(一致)性(這個工作差點把我累吐血).
ff和ie 在取得對象坐標和寬度的算法不同 太郁悶了
3) 修正了一些bug。
===============================
2007-01-12 以及之前的一些更新日志
===============================
1) 為“列表內部滾動條”增加了對鼠標滾輪的支持(只在ie6和ff2下測試過,其他版本沒有測試)
2) 將部分“列表內部滾動條”相關的代碼從java中提出,改用js實現.
3) 對js文件做了一些調整。
4) 修正了一些小bug。
===============================
1) 修正了一個“列表內部滾動條”的bug
該bug表現為在 IE里 有些windows的主題下,縱向滾動條不可用。FT!!!!!
2) eccn.js做了一點小小的改動,為將來做過編碼支持打下了一點點基礎.
===============================
1) 修正了改變頁面大小時“列表內部滾動條”錯亂的bug
2) 重構了“列表內部滾動條”相關的js和java代碼
===============================
1) 修正了使用ajax翻頁時“列表內部滾動條”錯亂的bug
2) 增加了當列表內容的實際寬度和高度小于設置的寬度和高度的時候,
自動調整區域大小,同時自動隱藏滾動條(只隱藏橫向的)的功能。
===============================
增加了“固定列表頭,滾動列表體”(“列表內部滾動條”)的功能
這個功能實現起來比我一開始想像的復雜
不是簡單的使用一個 div overflow:scroll就可以搞定的
雖然功能是支持了 但是代碼肯定還有很多bug或者是可以改進的地方
歡迎大家積極的提出寶貴的意見 謝謝了
使用方法:
ec:table標簽內 增加
listHeight="數字" 屬性 (指定列表體的高度)
同時把要指定 width="數字" 不能省略 同時要使用絕對大小 而不要使用百分比
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
部分增強功能簡介:
(詳見help.txt)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
我們有自己的圈子了
以后大家有 ecside相關的問題 可以去圈子里
我的 blog里問( http://fins.javaeye.com/blog/48723 )
別在發消息了 因為發消息別人看不到 而有些問題可能別人也遇到過 或者是我回答的不對 別人也可以幫忙
對吧?
謝謝大家
ecside發布地址:
http://fins.javaeye.com/blog/40190
ecside圈子:
http://ecside.javaeye.com/
ecside綜合討論專用帖
http://fins.javaeye.com/blog/48723
我申請了javascud項目 而且也申請了svn 但是不會用啊 :'( 誰來教教我啊
依賴包已經上傳到 圈子的共享空間里了
共3個 請解壓縮后放到 WEB-INF/lib下 如果不導出pdf可以不下載pdf相關的包 和 字體文件 這兩個比較大
ecside_1.0_rc1_20070121b.zip |
描述: |
完整版,但不包括所依賴的WEB-INF/lib下的文件.依賴文件可以去圈子里下載, 也可以去javaeye ftp下載,也可以按照WEB-INF/lib下的filelist.txt文件所列,自行下載. |
 下載 |
文件名: |
ecside_1.0_rc1_20070121b.zip |
文件大小: |
697 KB |
下載過的: |
文件被下載或查看 774 次 |