兩畝三分地

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            17 隨筆 :: 20 文章 :: 2 評論 :: 0 Trackbacks
          隨著博文的增加或者評論的增加,是必要考慮一下分頁問題。
          在這個項目里,對于分頁問題,我采取2種處理的方法。對于管理頁面表格型的記錄采用displayTag組件;
          而對于那些博文或者評論采用自己寫的PageTags類來管理。

          1. displayTag組件

          上面的圖片可以看出:事實上這個display tag庫就是用來顯示表格的;給它一個對象的list,它將搞定類似顯示列,排序,分頁等等事務,并以表格的形式顯示出來。

          a. 安裝:
             將displaytag-version.jar 文件與以下5個文件一起放置在應用的WEB-INF/lib目錄里
          • commons-logging
          • commons-lang
          • commons-collections
          • commons-beanutils
          • log4j
             在使用的時候,在jps頁面中,
          <%@ taglib uri="http://displaytag.sf.net" prefix="display" %>

          b. 使用:
             這里使用blog列表做例子
           <% List blogs = (List) request.getAttribute("blogs");%>
              
          <h2>文章管理</h2>
          <display:table name="blogs" htmlId="tab" pagesize="10" />
          每頁顯示10條記錄

          對于每條記錄我們可能有顯示要求
          <display:table name="blogs" id=" blog" htmlId="tab" pagesize="10" >
              
          <display:column property="id" title="編號"/>
              
          <display:column property="title" title="主題"/>
              
          <display:column property="category" title="類別"/>
              
          <display:column property="date" format="{0,date,yyyy-MM-dd  HH:mm:ss}" title="日期",sortable="true"/>
              
          <display:column title="操作">
                  
          <href="/Blogs/BlogServlet?method=edit&id=${blog.id}"><img src="/Blogs/admin/img/edit.gif" border=0 /></a>
                          
          <href="/Blogs/BlogServlet?method=delete&id=${blog.id}" onclick="javascript:return del()"><img src="/Blogs/admin/img/delete.gif" border=0 /></a>|
                          
          <href="/Blogs/CommentServlet?method=list&bid=${blog.id}">管理評論</td> 
              
          </display:column>
              
          </display:table>
          比如id字段顯示為 標號;title主題;category類別;日期么安裝年-月-日 小時:分鐘:秒的格式顯示;并且可以手動選擇排序。
          是不是很簡單。

          c.其他問題:
            配置文件displaytag.properties,需要放置在src目錄的根部,主要顯示一些文字之類的設置,支持localization,但是要注意的是,文件必須轉換成unicode才可以正常顯著。
          以下是displaytag_Zh_CN.properties的示例:
           1 #sort.behavior=list
           2 #sort.amount=list
           3 #basic.empty.showtable=true
           4 #basic.msg.empty_list=No results matched your criteria.
           5 #paging.banner.placement=top
           6 #paging.banner.onepage=<span class="pagelinks"></span>
           7 export.types=csv excel xml pdf rtf
           8 export.excel=true
           9 export.csv=true
          10 export.xml=true
          11 export.pdf=true
          12 export.rtf=true
          13 export.excel.class=org.displaytag.export.excel.DefaultHssfExportView
          14 export.pdf.class=org.displaytag.export.DefaultPdfExportView
          15 export.rtf.class=org.displaytag.export.DefaultRtfExportView
          16 # if set, file is downloaded instead of opened in the browser window
          17 #export.[mymedia].filename=
          18 paging.banner.placement=bottom
          19 # messages
          20 
          21 basic.msg.empty_list=\u6CA1\u6709\u7B26\u5408\u6761\u4EF6\u7684\u8BB0\u5F55
          22 basic.msg.empty_list_row=<tr class="empty"><td colspan="{0}">\u6CA1\u6709\u7B26\u5408\u6761\u4EF6\u7684\u8BB0\u5F55</td></tr>
          23 error.msg.invalid_page=\u65E0\u6548\u9875\u9762
          24 
          25 export.banner=<div class="exportlinks">Export options: {0}</div>
          26 export.banner.sepchar= |
          27 
          28 paging.banner.item_name=
          29 paging.banner.items_name=
          30 
          31 paging.banner.no_items_found=
          32 paging.banner.one_item_found=
          33 paging.banner.all_items_found=
          34 paging.banner.some_items_found=
          35 
          36 paging.banner.full=<span class="pagelinks"><font align>[<a href="{1}">|<</a>/<a href="{2}"><</a>] {0[<a href="{3}">></a>/<a href="{4}">>|</a>]</span>
          37 paging.banner.first=<span class="pagelinks">[\u9996\u9875/\u4E0A\u4E00\u9875] {0[<a href="{3}">\u4E0B\u4E00\u9875</a>/<a href="{4}">\u5C3E\u9875</a>]</span>
          38 paging.banner.last=<span class="pagelinks">[<a href="{1}">\u9996\u9875</a>/<a href="{2}">\u4E0A\u4E00\u9875</a>] {0[\u4E0B\u4E00\u9875/\u5C3E\u9875]</span>
          39 paging.banner.onepage=<span class="pagelinks">{0}</span>
          40 
          41 paging.banner.page.selected=<strong>{0}</strong>
          42 paging.banner.page.link=<a href="{1}" title="{0}">{0}</a>
          43 paging.banner.page.separator=, \
          38行paging.banner.placement=bottom 指定分頁欄出現在表格的下面,當然還有top/both兩個選擇。
            
           

          posted on 2009-10-05 17:07 Chucky 閱讀(269) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 寻乌县| 荥经县| 涞水县| 水富县| 金川县| 太湖县| 都匀市| 观塘区| 三门峡市| 水富县| 时尚| 延吉市| 平乐县| 梁平县| 米林县| 乐业县| 乐山市| 唐河县| 隆安县| 武城县| 本溪市| 新宾| 桑日县| 山东省| 海南省| 呼玛县| 桓仁| 龙里县| 绥芬河市| 蒲城县| 双辽市| 浦县| 疏勒县| 开化县| 冕宁县| 庆城县| 西乌珠穆沁旗| 绥化市| 滁州市| 浏阳市| 丁青县|