小菜毛毛技術分享

          與大家共同成長

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            164 Posts :: 141 Stories :: 94 Comments :: 0 Trackbacks
          1. 分頁
              如果想對代碼分頁,只需在display:table標簽中添加一項pagesize="每頁顯示行數",如

          2. 對列排序
              display tag可對列進行排序,就是點擊列名,對該列的數據進行排序。你只需對想要排序的列添加 sort="true" 就OK,如下面的代碼可對前三列進行排序。在display:table中添加defaultsort="列數",可默認對指定的列排序。

            
          如果table有分頁,Display Tag默認只對當前頁進行排序,如果想對整個list排序,可以在display:table之間添加一段代碼:

          3.
          導出數據
              在display:table中添加export="true",看看會出現什么!Display Tag默認會提供三種數據導出方式:CSV、Excel、XML 。
              另外Display Tag還可以導出為PDF格式,在http://prdownloads.sourceforge.net/itext/下載一個輔助包iText.jar,copy到lib目錄下,然后在display:table之間添加一段代碼:
          <display:setproperty name="export.pdf" value="true"></display:setproperty>,大功告成。<o:p></o:p>

          4. Display Tag的屬性設置
              前面所說的display:setProperty 是一種改變Display Tag屬性的方法,但是在每個jsp中都要寫太麻煩了。
              Display Tag中設置了很多默認的屬性,它有一個專門的屬性文件,是在它的jar包中的displaytag/properties/TableTag.properties
              想要改變它的默認屬性,我們可以在WEB-INF"classes下新建一個文件displaytag.properties,仿照TableTag.properties中屬性的格式設置需要修改的屬性。

              TableTag.properties中的# messages中設置的是顯示在頁面上的提示信息。默認是英文的,我們可以把它改為中文的。不過這里只能使用unicode,就是說中文字符必須轉換為unicode碼,這個可以使用jdk自帶的native2ascii.exe進行轉換。<o:p></o:p>

          5. 其它功能
              DisplayTag還有一些很實用的小功能,這里提兩個。一個是對數據的Format,這是1.1版本添加的新功能,可以使用標簽的方式格式化時間、數字、字符串。比如日期,在需要格式化的column標簽中添加format="{0,date,yyyy-MM-dd}",第一個參數為格式化的數據序號,第二個參數是數據類型,數字為number,第三個參數為數據格式。
              另外一個功能是對table數據的合計功能。在table標簽中添加 decorator="org.displaytag.decorator.TotalTableDecorator",然后在想要進行合計的數據列的column標簽中添加 total="true",該列就可以被計算總數了。但這個功能有個缺點,不能用在有分頁的時候,它只能合計第一頁的數據。

          DisplayTag的不足
              初次使用DisplayTag的人可能會覺得驚喜,但是用久了會發現很多問題,最大的問題是對中文的支持不好,比如如果查詢條件中有中文,就無法翻頁,無法對中文排序,將中文導出為指定文件時出現亂碼等等。這些問題有時候會讓人很郁悶,有時候逼得你要去修改它的源代碼。下面是對以上幾個問題的解決方法:
              1. 對于中文無法翻頁、排序,最簡單的辦法是修改Tomcat下的server.xml文件。找到HTTP的Connector標簽,在里面添加一項URIEncoding="...",引號里面的內容取決于你的頁面編碼,比如可以是GBK,UTF8等。這樣上面兩個問題就可以解決了。
              2. 導出為文件:其實這個功能除了中文支持外還有很多其它問題,比如它會將Html標簽一起導出、只導出顯示的內容,但如果對table進行了decorator,decorator后的內容無法導出。如果想要將中文正確導出,需要修改DisplayTag源代碼。
              下載相同版本的源代碼,在org.displaytag.export.ExcelView.java文件中找到getMimeType()方法,將此方法修改為 return "application/vnd.ms-excel;charset=GB2312";,修改后導出數據的速度會慢很多,不過將就吧。
              3. 新版的DisplayTag1.1添加了對一次取部分數據的支持,相關的標簽包括partialList和size,需要設置partialList="true"和size的大小。具體怎么用偶還沒研究

          <display:table name="test" pagesize="10"></display:table><o:p></o:p>

          posted on 2009-05-30 12:56 小菜毛毛 閱讀(141) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 广元市| 惠州市| 叶城县| 梁山县| 兴国县| 子洲县| 汶川县| 和平区| 开化县| 阜阳市| 蒲江县| 万源市| 浮山县| 霞浦县| 郧西县| 延津县| 札达县| 万山特区| 宁蒗| 岑巩县| 呈贡县| 高唐县| 原平市| 棋牌| 陕西省| 潮安县| 桦甸市| 舒兰市| 罗平县| 太湖县| 镇巴县| 潍坊市| 墨竹工卡县| 阜新市| 峨山| 友谊县| 民县| 汉中市| 哈密市| 余干县| 广宁县|