大明白的天地

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            5 隨筆 :: 3 文章 :: 58 評論 :: 0 Trackbacks

          Image00000.jpg

          由于現在的displaytag及其valuelist等標簽只是表現層的東東,和數據庫無關,所以開發者將數據庫中的數據傳遞給這些標簽時
          就會出現分頁顯示不正確的現象,由于只有將數據庫中的所有記錄傳遞給這類標簽時,他才能正確處理分頁,但是當數據庫中的記錄很大時,就變得不現實了,所以這類標簽適合作為快速開發原型或者顯示少量數據時應用,或者進行更改才能符合自己的需要,但是,改起來比較麻煩;
          針對以上問題,我做了一個簡單實用的表格標簽,常用的功能也都有了,就是顯示不那么靈活,只能是上面圖片的樣子顯示,而沒有更大的靈活性,但是作為常用表格顯示已經夠用了,其他更靈活的等將來全部重構后,來完成更好的表格標簽,現在的設計思想沒有考慮那么多,只是針對數據庫的常用功能設計的,例如:數據的顯示(避免提取數據表中的全部數據,只提取要顯示的部分),在現有條件基礎上可以進行靈活的用戶自定義查詢,正反排序等等;
          具有的功能:
          1)以表格的形式顯示數據庫中的數據,每次僅提取要顯示的部分;
          2)很好的處理了分頁功能,不必全部提取數據后才能正確處理分頁;
          3)可以定義要排序的列,進行正反排序;
          4)可以進行顯示數據的選擇,可以多選或者單選;
          5)可以自定義顯示數據的主要信息,用于處理或者傳遞數據之用;
          6)由于表格顯示的配置是通過配置文件實現的,所以同一個顯示配置可以被重復使用
          7)可以定義列為的超鏈接,并指定target,默認為_new
          8)同一個sql語句模板可以根據傳遞的條件不同完成不同的功能,達到實現用戶自定義查詢的功能
          9)可以定義一個列的日期顯示樣式,數據顯示樣式
          10)可以定義某一列是否自動回行
          11)常用的翻頁,選擇跳頁,及其輸入跳頁值直接跳轉,顯示所有最大行數,最大頁數機器當前頁數
          12)其中還帶了一個下拉框標簽,可以很好地解決顯示數據庫中多列信息的功能,并同樣具有自定義要傳遞的信息的功能,具有默認值,空值情況下定義默認值的功能

          缺少或不足的功能:
          那多了,慢慢解決吧,心急吃不了熱豆腐!
          正常應該設計成displaytag的樣子,但是本人不喜歡標簽套標簽,用起來麻煩,我崇尚的是簡單至上,所以我寫的東西不會復雜到一定程度。可能這樣結構不太合理;

          注意:
          本標簽只支持jdk1.5,及其通過jndi獲得數據庫連接!!
          需要支持的庫:castor-0.9.7-xml.jar
          通過修改qixin000.xml文件更改jndi配置信息

          posted on 2005-07-15 20:40 大明白 閱讀(1414) 評論(8)  編輯  收藏

          評論

          # re: 一個自己寫得很實用的表格標簽: qixin000tag 2005-07-15 20:45 大明白
          樣例代碼:
          http://www.aygfsteel.com/Files/qixin000/tagtest.rar

          配置文件說明
          http://www.aygfsteel.com/Files/qixin000/displaytable_readme.rar

          標簽用法很簡單:
          id:是table的id;
          xmlfile:只是標簽到那個配置文件里尋找顯示樣式
          table:到指定的配置文件中尋找該值的table段
          select:定義選擇樣式 checkbox,radio兩種值可以定義
          pageSize:每頁要顯示的記錄數   回復  更多評論
            

          # re: 一個自己寫得很實用的表格標簽: qixin000tag 2005-07-17 11:15 笨笨
          為什么你一個tag標簽就需要綁定數據訪問邏輯那?為什么不想辦法支持調用業務類的業務方法,只要返回自定義的collection集合進行綁定不行么?  回復  更多評論
            

          # re: 一個自己寫得很實用的表格標簽: qixin000tag 2005-07-17 11:58 大明白
          我就會想到大家可能會對這個問題進行討論!這也是很多人喜歡框架設計人員都關心的問題!這個問題,我是知道的!
          實際上我的標簽內部starttag已經實現了返回所有的結合,只是在endtag的時候進行顯示的,只是沒有進行分開.完全可以分開,但是我現在覺得給應用的人會帶來麻煩,用于顯示的數據被分配到了配置文件中,完全可以根據你的替換條件完成不同的業務,(這個替換條件就是你的業務,你完全可以自己開發),但這個理由不充分,我仍然會把他改的結構更合理.
          displaytag和valuelist分開了,但是并不實用,所以我現在針對大多數一般地快速開發應用.
          更好的結構,我會在今后改進!  回復  更多評論
            

          # re: 一個自己寫得很實用的表格標簽: qixin000tag 2005-07-17 16:14 大明白
          大體思路:

          GridBean:標簽的屬性信息,和一個包含sql語句中的結果的總記錄數
          PageInfo:頁面信息,包含一些當前頁,排序條件,篩選條件等信息
          DBTool:數據庫工具,用于根據GridBean從文件中讀取sql語句結合PageInfo形成需要的結果集.

          DataTable:發送到頁面的一頁信息;
          TableGenerator:結合PageInfo及其GridBean形成發送到頁面的html表格

          1)startTag:
          setinfo(gridbean)
          setinfo(pageinfo)
          datatable = DBTool(gridbean,pageinfo)
          request.setAttribute(gridbean)
          request.setAttribute(datatable)

          2)bodyhandle
          在這里實際上可以攔截修改gridbean,及其datatable信息,
          根據自己的要求控制要顯示信息;

          3)endTag
          htmltable = TableGenerator(gridbean,pageinfo,datatable)
          out.println(htmltable)
            回復  更多評論
            

          # re: 一個自己寫得很實用的表格標簽: qixin000tag 2005-07-26 15:56 emu
          >>本標簽只支持jdk1.5,及其通過jndi獲得數據庫連接!!

          wow!一個標簽還要處理數據庫連接,還要獲得sql語句,和底層綁定的太多,實用倒實用了,通用性呢?  回復  更多評論
            

          # re: 一個自己寫得很實用的表格標簽: qixin000tag 2005-07-26 16:32 大明白
          是的,這個標簽在設計上確實有些問題,但是挺實用,但不適合應用于現在的框架設計,因為它的內部被我給封死了,所以用戶沒有辦法控制

          如果快速開發的化,還是挺好用的,內部實現實際上,我還是分開了,只不過為了方便,把他都寫到了一個標簽里面,一個默認的實現,用戶向擴展的話,我沒有留接口

          如果想更好的控制,而且結構更合理的看我的另一個標簽
          DisplayTagPro
          它可以達到用戶自己控制的程度,而且可以和現在的框架結合得很好
          但是我現在剛發上去后就發現有個缺點就是,要求用戶實現的是一個抽象類AbstractHandler,不是一個接口,這樣就限制了用戶的實用。
            回復  更多評論
            

          # re: 一個自己寫得很實用的表格標簽: qixin000tag 2005-08-13 13:57
          我是倒是覺得valuelist更好用些。displaytag更漂亮些,適合小數據量。  回復  更多評論
            

          # re: 一個自己寫得很實用的表格標簽: qixin000tag 2005-08-18 16:58 大明白
          valuelist我看了一下,好像還得和spring結合,有些麻煩,好好的一個標簽還得用spring,所以沒再看她,我倒是覺得,一個這樣的表格標簽實際上只是顯示了一頁的數據,無所謂適不適和大數據量和小數據量的問題

          所以只要這個標簽在一頁中顯示的好,靈活,這個標簽就是好標簽,前提是用著要不麻煩,如果你把整個數據集都傳給了他顯示那就使開發者的問題了,而不是標簽的問題?

          現在我發現displaytag總是在第二頁出現顯示不全的問題,不知為什么,不知道有沒有人遇到過這樣的問題.就是第二頁特殊,其他也均沒有問題!!!!怪異!!!  回復  更多評論
            


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 西乌珠穆沁旗| 长兴县| 集安市| 林州市| 沙田区| 威海市| 盐亭县| 峨眉山市| 鄄城县| 定远县| 漠河县| 四平市| 岱山县| 新巴尔虎左旗| 当涂县| 墨江| 洛阳市| 扎赉特旗| 阜平县| 湘阴县| 兰西县| 沙田区| 金山区| 永州市| 鄯善县| 临安市| 荔波县| 乌拉特后旗| 海口市| 浦县| 永胜县| 宝鸡市| 泽普县| 沙田区| 云龙县| 三亚市| 酒泉市| 凤山县| 渑池县| 济南市| 郑州市|