<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    大明白的天地

      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      5 隨筆 :: 3 文章 :: 58 評(píng)論 :: 0 Trackbacks

    Image00000.jpg

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

    缺少或不足的功能:
    那多了,慢慢解決吧,心急吃不了熱豆腐!
    正常應(yīng)該設(shè)計(jì)成displaytag的樣子,但是本人不喜歡標(biāo)簽套標(biāo)簽,用起來(lái)麻煩,我崇尚的是簡(jiǎn)單至上,所以我寫(xiě)的東西不會(huì)復(fù)雜到一定程度。可能這樣結(jié)構(gòu)不太合理;

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

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

    評(píng)論

    # re: 一個(gè)自己寫(xiě)得很實(shí)用的表格標(biāo)簽: qixin000tag 2005-07-15 20:45 大明白
    樣例代碼:
    http://m.tkk7.com/Files/qixin000/tagtest.rar

    配置文件說(shuō)明
    http://m.tkk7.com/Files/qixin000/displaytable_readme.rar

    標(biāo)簽用法很簡(jiǎn)單:
    id:是table的id;
    xmlfile:只是標(biāo)簽到那個(gè)配置文件里尋找顯示樣式
    table:到指定的配置文件中尋找該值的table段
    select:定義選擇樣式 checkbox,radio兩種值可以定義
    pageSize:每頁(yè)要顯示的記錄數(shù)   回復(fù)  更多評(píng)論
      

    # re: 一個(gè)自己寫(xiě)得很實(shí)用的表格標(biāo)簽: qixin000tag 2005-07-17 11:15 笨笨
    為什么你一個(gè)tag標(biāo)簽就需要綁定數(shù)據(jù)訪問(wèn)邏輯那?為什么不想辦法支持調(diào)用業(yè)務(wù)類的業(yè)務(wù)方法,只要返回自定義的collection集合進(jìn)行綁定不行么?  回復(fù)  更多評(píng)論
      

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

    # re: 一個(gè)自己寫(xiě)得很實(shí)用的表格標(biāo)簽: qixin000tag 2005-07-17 16:14 大明白
    大體思路:

    GridBean:標(biāo)簽的屬性信息,和一個(gè)包含sql語(yǔ)句中的結(jié)果的總記錄數(shù)
    PageInfo:頁(yè)面信息,包含一些當(dāng)前頁(yè),排序條件,篩選條件等信息
    DBTool:數(shù)據(jù)庫(kù)工具,用于根據(jù)GridBean從文件中讀取sql語(yǔ)句結(jié)合PageInfo形成需要的結(jié)果集.

    DataTable:發(fā)送到頁(yè)面的一頁(yè)信息;
    TableGenerator:結(jié)合PageInfo及其GridBean形成發(fā)送到頁(yè)面的html表格

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

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

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

    # re: 一個(gè)自己寫(xiě)得很實(shí)用的表格標(biāo)簽: qixin000tag 2005-07-26 15:56 emu
    >>本標(biāo)簽只支持jdk1.5,及其通過(guò)jndi獲得數(shù)據(jù)庫(kù)連接!!

    wow!一個(gè)標(biāo)簽還要處理數(shù)據(jù)庫(kù)連接,還要獲得sql語(yǔ)句,和底層綁定的太多,實(shí)用倒實(shí)用了,通用性呢?  回復(fù)  更多評(píng)論
      

    # re: 一個(gè)自己寫(xiě)得很實(shí)用的表格標(biāo)簽: qixin000tag 2005-07-26 16:32 大明白
    是的,這個(gè)標(biāo)簽在設(shè)計(jì)上確實(shí)有些問(wèn)題,但是挺實(shí)用,但不適合應(yīng)用于現(xiàn)在的框架設(shè)計(jì),因?yàn)樗膬?nèi)部被我給封死了,所以用戶沒(méi)有辦法控制

    如果快速開(kāi)發(fā)的化,還是挺好用的,內(nèi)部實(shí)現(xiàn)實(shí)際上,我還是分開(kāi)了,只不過(guò)為了方便,把他都寫(xiě)到了一個(gè)標(biāo)簽里面,一個(gè)默認(rèn)的實(shí)現(xiàn),用戶向擴(kuò)展的話,我沒(méi)有留接口

    如果想更好的控制,而且結(jié)構(gòu)更合理的看我的另一個(gè)標(biāo)簽
    DisplayTagPro
    它可以達(dá)到用戶自己控制的程度,而且可以和現(xiàn)在的框架結(jié)合得很好
    但是我現(xiàn)在剛發(fā)上去后就發(fā)現(xiàn)有個(gè)缺點(diǎn)就是,要求用戶實(shí)現(xiàn)的是一個(gè)抽象類AbstractHandler,不是一個(gè)接口,這樣就限制了用戶的實(shí)用。
      回復(fù)  更多評(píng)論
      

    # re: 一個(gè)自己寫(xiě)得很實(shí)用的表格標(biāo)簽: qixin000tag 2005-08-13 13:57 風(fēng)
    我是倒是覺(jué)得valuelist更好用些。displaytag更漂亮些,適合小數(shù)據(jù)量。  回復(fù)  更多評(píng)論
      

    # re: 一個(gè)自己寫(xiě)得很實(shí)用的表格標(biāo)簽: qixin000tag 2005-08-18 16:58 大明白
    valuelist我看了一下,好像還得和spring結(jié)合,有些麻煩,好好的一個(gè)標(biāo)簽還得用spring,所以沒(méi)再看她,我倒是覺(jué)得,一個(gè)這樣的表格標(biāo)簽實(shí)際上只是顯示了一頁(yè)的數(shù)據(jù),無(wú)所謂適不適和大數(shù)據(jù)量和小數(shù)據(jù)量的問(wèn)題

    所以只要這個(gè)標(biāo)簽在一頁(yè)中顯示的好,靈活,這個(gè)標(biāo)簽就是好標(biāo)簽,前提是用著要不麻煩,如果你把整個(gè)數(shù)據(jù)集都傳給了他顯示那就使開(kāi)發(fā)者的問(wèn)題了,而不是標(biāo)簽的問(wèn)題?

    現(xiàn)在我發(fā)現(xiàn)displaytag總是在第二頁(yè)出現(xiàn)顯示不全的問(wèn)題,不知為什么,不知道有沒(méi)有人遇到過(guò)這樣的問(wèn)題.就是第二頁(yè)特殊,其他也均沒(méi)有問(wèn)題!!!!怪異!!!  回復(fù)  更多評(píng)論
      


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲一区二区三区四区视频| 免费无码又爽又黄又刺激网站| 24小时日本在线www免费的| 亚洲AV日韩AV一区二区三曲 | 亚洲AV无码日韩AV无码导航| 国产成人精品免费午夜app | 99re6在线视频精品免费| 亚洲免费二区三区| 亚洲一区无码精品色| 免费大片黄在线观看yw| 未满十八私人高清免费影院| 亚洲国产成人久久综合一区| 浮力影院亚洲国产第一页| 97在线线免费观看视频在线观看 | 色一情一乱一伦一视频免费看| 亚洲国产精品嫩草影院在线观看 | 亚洲一级毛片免费看| av在线亚洲欧洲日产一区二区| 亚洲天堂免费在线| 成全在线观看免费观看大全| 亚洲Av无码国产一区二区| 久久综合亚洲色一区二区三区| jizzjizz亚洲| 午夜色a大片在线观看免费| 99免费观看视频| 国产精品免费在线播放| 色天使亚洲综合在线观看| 水蜜桃亚洲一二三四在线 | 亚洲麻豆精品果冻传媒| 亚洲国产高清精品线久久| 成年在线网站免费观看无广告| 免费一级毛片在线播放视频| 春意影院午夜爽爽爽免费| 亚洲成a∧人片在线观看无码| 亚洲成aⅴ人片在线观| 亚洲国产另类久久久精品| 亚洲欧洲日产国码一级毛片| 日本不卡在线观看免费v| 男人的好免费观看在线视频| 亚洲一级毛片免费在线观看| 久久亚洲免费视频|