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

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

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

    Studying Java......

    統(tǒng)計(jì)

    留言簿(1)

    積分與排名

    JavaServerFaces

    Mail Link

    Open Source

    友情鏈接

    收藏的鏈接

    閱讀排行榜

    評論排行榜

    Display TagLib

        用了一段時間的Display Tag,覺得非常好用,可發(fā)現(xiàn)好像使用這個東東的人挺少的,那偶也來寫篇文章。
        Display Tag Lib是一個標(biāo)簽庫,用來處理jsp網(wǎng)頁上的Table,功能非常強(qiáng),可以對的Table進(jìn)行分頁、數(shù)據(jù)導(dǎo)出、分組、對列排序等等,反正我在做項(xiàng)目時需要的功能它都給我提供了,而且使用起來非常的方便。能夠大大減少代碼量。
        介個是Display Tag的官方網(wǎng)站http://displaytag.sourceforge.net

        首先當(dāng)然是要下載它的jar包了,這里可以下載到最新的版本。將jar包放到WEB-INF的lib文件夾下。另外還需要兩個輔助包:apache的commons-lang和standard包,更多的輔助包可以在這里下載

        在web.xml下添加一個filter
        <filter>
            <filter-name>exportFilter</filter-name>
            <filter-class>org.displaytag.filter.ResponseOverrideFilter</filter-class>
        </filter>

        在jsp頁面做一個引用:
    <%@ taglib uri="http://displaytag.sf.net/el" prefix="display" %>

        首先我們定義一個list
    <%
     List test = new ArrayList( 6 );
     test.add( "Test String 1" );
     test.add( "Test String 2" );
     test.add( "Test String 3" );
     test.add( "Test String 4" );
     test.add( "Test String 5" );
     test.add( "Test String 6" );
     request.setAttribute( "test", test );
    %>

        當(dāng)我們想在jsp頁面上顯示這個list時,我們只需要寫一句話
        <display:table name="test" />
        display tag會自動生成一個table

        如果list是從控制層拋出來的,name可使用EL表達(dá)式表示
        <display:table name="${test}" />

        這是最簡單的display tag的使用,我們可以給它加上樣式等,也可以定義顯示的列,下面的table顯示復(fù)雜一些
    <display:table name="test" styleClass="list" cellspacing="0" cellpadding="0">
      <display:column property="id" title="ID" class="idcol"/>
      <display:column property="name" />
      <display:column property="email" />
      <display:column property="description" title="Comments"/>
    </display:table>

        如果想要給它加個鏈接也很簡單,下面的代碼給name加了連接,并附帶id參數(shù),email也自動連接到mailto:XXX
    <display:table name="test" styleClass="list" cellspacing="0" cellpadding="0">
      <display:column property="id" title="ID" class="idcol"/>
      <display:column property="name" url="detail.jsp" paramId="id" paramProperty="id"/>
      <display:column property="email" autolink="true"/>
      <display:column property="description" title="Comments"/>
    </display:table>

    下面介紹幾個Display最常用的功能,更多功能請參考http://www.displaytag.org/index.jsp
    1. 分頁
        如果想對代碼分頁,只需在display:table標(biāo)簽中添加一項(xiàng)pagesize="每頁顯示行數(shù)",如
    <display:table name="test" pagesize="10"/>

    2. 對列排序
        display tag可對列進(jìn)行排序,就是點(diǎn)擊列名,對該列的數(shù)據(jù)進(jìn)行排序。你只需對想要排序的列添加 sort="true" 就OK,如下面的代碼可對前三列進(jìn)行排序。在display:table中添加defaultsort="列數(shù)",可默認(rèn)對指定的列排序。
    <display:table name="test" styleClass="list" cellspacing="0" cellpadding="0" defaultsort="1">
      <display:column property="id" title="ID" class="idcol" sort="true"/>
      <display:column property="name" url="detail.jsp" paramId="id" paramProperty="id" sort="true"/>
      <display:column property="email" autolink="true" sort="true"/>
      <display:column property="description" title="Comments"/>
    </display:table>
       如果table有分頁,Display Tag默認(rèn)只對當(dāng)前頁進(jìn)行排序,如果想對整個list排序,可以在display:table之間添加一段代碼:
    <display:setProperty name="sort.amount" value="list"/>

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

    4. Display Tag的屬性設(shè)置
        前面所說的display:setProperty 是一種改變Display Tag屬性的方法,但是在每個jsp中都要寫太麻煩了。
        Display Tag中設(shè)置了很多默認(rèn)的屬性,它有一個專門的屬性文件,是在它的jar包中的displaytag/properties/TableTag.properties
        想要改變它的默認(rèn)屬性,我們可以在WEB-INF\classes下新建一個文件displaytag.properties,仿照TableTag.properties中屬性的格式設(shè)置需要修改的屬性。
        TableTag.properties中的# messages中設(shè)置的是顯示在頁面上的提示信息。默認(rèn)是英文的,我們可以把它改為中文的。不過這里只能使用unicode,就是說中文字符必須轉(zhuǎn)換為unicode碼,這個可以使用jdk自帶的native2ascii.exe進(jìn)行轉(zhuǎn)換。


    原文參見:http://blog.csdn.net/clearwater21cn/archive/2005/02/21/296316.aspx

    posted on 2005-11-10 17:52 Terence 閱讀(1009) 評論(3)  編輯  收藏

    評論

    # re: Display TagLib 2006-02-17 18:00 jjs

    我看了,但我照上面做了一下,但出現(xiàn)這樣的錯誤
    javax.servlet.ServletException:
    You appear to have an INCOMPATIBLE VERSION of the commons-lang library.
    Displaytag requires version 2 of this library, and you appear to have a prior version in
    your classpath. You must remove this prior version and ensure that only version 2 is in
    your classpath.
    If commons-lang-x.jar is in your classpath, be sure to remove it.
    Be sure to delete all cached or temporary jar files from your application server; Tomcat
    users should be sure to also check the CATALINA_HOME/shared folder; you may need to
    restart the server.
    commons-lang-2.jar is available in the displaytag distribution, or from the commons-lang
    website at http://jakarta.apache.org/commons/lang

    請問這是怎么回事  回復(fù)  更多評論   

    # re: Display TagLib 2006-06-16 22:39 經(jīng)濟(jì)界

    我們公司也在用,將他包了起來,用起來更方便了  回復(fù)  更多評論   

    # re: Display TagLib 2006-10-20 10:48 nbaloveyao

    都是從網(wǎng)上拷的~沒有一點(diǎn)自己的看法~暈~  回復(fù)  更多評論   


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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 国产v片免费播放| 亚洲国产精品福利片在线观看| 麻豆国产精品入口免费观看| 免费国产美女爽到喷出水来视频| 中文亚洲成a人片在线观看| 久久久久亚洲精品无码蜜桃| 亚洲精品无码专区| 一级特黄录像免费播放肥| 中国好声音第二季免费播放| 亚洲天堂免费在线| 亚洲中文无韩国r级电影| 亚洲福利视频网站| 特级做a爰片毛片免费看| 1a级毛片免费观看| 午夜亚洲av永久无码精品| 久久久亚洲精品视频| 亚洲av日韩专区在线观看| 久久青草精品38国产免费| 国产一级淫片免费播放电影| 亚洲最新视频在线观看| 无码精品人妻一区二区三区免费| 2019中文字幕在线电影免费| 久久乐国产精品亚洲综合| 亚洲综合丁香婷婷六月香| 精品97国产免费人成视频| 毛片免费vip会员在线看| 亚洲an天堂an在线观看| 人妻无码中文字幕免费视频蜜桃| 国产乱子伦精品免费无码专区 | a级毛片毛片免费观看永久| 性做久久久久久久免费看| 亚洲日韩精品一区二区三区 | 免费亚洲视频在线观看| 亚洲精品福利你懂| 久久免费观看国产99精品| 亚洲精品tv久久久久| 亚洲狠狠婷婷综合久久| 波多野结衣免费在线观看| 亚洲国产一区二区三区青草影视| 一个人看的www免费高清| 国产无遮挡裸体免费视频|