泥巴麒麟的BLOG

          shenAwesome@hotmail.com 縱不能,將醉做生涯,休拘束

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            195 Posts :: 2 Stories :: 80 Comments :: 0 Trackbacks

          displaytag確實有性能的問題,最近又看到一個比較好的分頁列表控件,但同樣是每次分頁就重新提交整個頁面
          確實頭痛而且笨拙。真的不如用ajax來處理這個問題

          如做一個tag,頁面上有:
          <s:list? columnMap="" request=""/>
          生成javascript的列表,完成后,立刻用ajax調用request中的請求,去得到列表值,顯示出來
          同時界面提供 上一頁下一頁等翻頁和排序按鈕,當按鈕被點擊,同樣去用ajax重取數據

          有兩種方式
          1 請求通過一個servlet通過反射轉發到原始Action的方法上。
          在action中,除了一般的工作,另加若干如下方法:
          Collection showList(httpRequest request);
          對應界面中的一個列表,專門負責處理列表。根據request里的信息(包括分頁和排序信息)返回適當的數據
          2 直接新建一個單獨action處理

          有關分頁的計算,這里就不詳述,無非是獲得記錄總數,從而計算出當前頁,并取得相應數據。這里隨后臺不同而有不同實現。

          當取數據的時候,由于ajax的異步性質,最好在界面上有些進度條之類的提示。

          這樣整體方案其實并不復雜。美工上作漂亮些就行了,再支持一下數據導出。

          要提到的是,分頁的情況,如果數據不一次全部取出,而是利用數據庫的 order by等來進行分頁排序,效率確實提高,但就需要穿透邏輯層,同時排序字段必須是數據庫sql中的原始字段。
          在邏輯層&DAO的處理上必須更仔細,推薦采用一個PageBean攜帶所有的分頁信息(?查詢條件,排序字段/順序,當前頁數,總頁數)? 。

          ?

          ?

          ?

          posted on 2007-03-13 10:27 泥巴麒麟 閱讀(176) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 当雄县| 宁安市| 新余市| 平邑县| 宁化县| 嫩江县| 凤山县| 荔波县| 平谷区| 台东县| 阳城县| 唐山市| 土默特左旗| 大方县| 墨江| 石阡县| 剑川县| 永城市| 依兰县| 乌兰县| 祥云县| 平潭县| 冀州市| 江门市| 灵石县| 连平县| 依安县| 上林县| 星座| 武陟县| 阿图什市| 济阳县| 壤塘县| 阿拉善左旗| 广西| 香港| 崇义县| 湘阴县| 雷州市| 乐山市| 巴南区|