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

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

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

    Bryan

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      37 Posts :: 3 Stories :: 24 Comments :: 0 Trackbacks
    DisplayTag

    DisplayTag在表格數據顯示,排序,生成報表,分頁,包括數據的格式化有著強大的功能。使用DisplayTag可以使得程序的前臺開發更容易,更方便。很多的功能可以通過官方網站來獲得相關的信息。

    因為自從DisplayTag在去年發布以后,到現在沒有新的版本,所以在程序的開發過程中,有一些限制,好在都有相關的方法進行替代。

     Multiple Parameters:

    一般的程序在DisplayTag構造link,都需要傳遞多個參數,當使用Decorator的時候,未免會給程序的維護帶來很大的困難,DisplayTag在使用 paramId在傳遞參數的時候只能傳遞一個參數,這給大多數的程序處理帶來了不便,可以通過修改Column類中的private Href getColumnHref(String columnContent) throws ObjectLookupException方法來達到目的,很多人已經提出相關的解決方案,見http://jira.codehaus.org/browse/DISPL-120

    但是畢竟沒有官方的release版本,這樣同樣對以后的維護帶來不便。最快也是最簡潔的辦法就是通過JSTL來構造link,這種方法不再限制只能傳遞一個參數,給程序的處理帶來了方便。使用Struts2 , JSTLDisplayTag結合,構造link會使程序更易維護。下面是簡短的JSTLDisplayTag結合在一起的方法。

     <display:table name="jobz" class="simple" id="row" >
      <display:column  titleKey="label.global.actions" >
                 <c:url var="viewurl" value="/viewJobDetail.action">
                         <c:param name="name" value="${row.name}"/>
                         <c:param name="groupName" value="${row.group}"/>
                 </c:url>
                 <c:url var="exeurl" value="/viewJobDetail.action">
                         <c:param name="name" value="${row.name}"/>
                         <c:param name="groupName" value="${row.group}"/>
                         <c:param name="executeJobAction" value="execute"/>
                 </c:url>
                 <c:url var="editurl" value="/viewJobDetail.action">
                         <c:param name="name" value="${row.name}"/>
                         <c:param name="groupName" value="${row.group}"/>
                         <c:param name="editAction" value="edit"/>
                 </c:url>
          <a href='<c:out value="${viewurl}"/>'><fmt:message key="label.global.view"/></a> |
          <a href='<c:out value="${editurl}"/>'><fmt:message key="label.global.edit"/></a> |
          <a href='<c:out value="${exeurl}"/>'><fmt:message key="label.global.execute"/></a> &nbsp;
      </display:column>
     
      <display:column property="group" titleKey="label.job.group" sortable="true"   />
      <display:column property="name" titleKey="label.job.name" sortable="true"  />
      <display:column property="description" titleKey="label.job.description" />
      <display:column property="jobClass" titleKey="label.job.jobClass" sortable="true"  />
    </display:table>

    通過TableID,我們可以或得相關的數據的值,并動態的生成相關的連接,

    <display:table id="hello" requestURI="hello.action" pagesize="10">
    <display:column title="Entity">
          <c:url var="exeurl" value="/other.action">
         
    <c:param name="entityName" value="${hello.entity}" />
         
    </c:url>

          <a onclick="highlightElem(this,'hello')" target="myFrame" class="linkBlue" href='<c:out value="${exeurl}"/>'><c:out value="${hello.entity}"/>
         
    </a>
    </display:column>
    <display:table/>

    DisplayTag 分頁

    DisplayTag在分頁的時候,Url會出現諸如d-8271310-p=3這樣的參數,d-8271310-p是通過Encode tableID(一個String型的常量)產生的。如果我們需要維護頁面的page的狀態,這一點很重要。下面是相關的代碼。
    HttpServletRequest request=(HttpServletRequest)ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);

     String pageNo=request.getParameter((new org.displaytag.util.ParamEncoder(tableID).encodeParameterName(org.displaytag.tags.TableTagParameters.PARAMETER_PAGE)));

     我們就可以獲得pageNo 3, new org.displaytag.util.ParamEncoder(tableID).encodeParameterName(org.displaytag.tags.TableTagParameters.PARAMETER_PAGE))會生成像d-8271310-p這樣的參數.

    posted on 2008-03-20 15:46 Life is no respector of any genius. 閱讀(1166) 評論(0)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 中文字幕亚洲综合久久综合| a视频在线免费观看| 成人亚洲性情网站WWW在线观看| 中文字幕乱码免费看电影| 亚洲国产成人无码av在线播放| 国产免费av片在线播放| 免费在线观影网站| 亚洲日产乱码一二三区别 | 亚洲a级片在线观看| 日本视频在线观看永久免费| 久久精品国产亚洲AV蜜臀色欲| 日韩精品成人亚洲专区| **俄罗斯毛片免费| 成人免费视频一区二区| 亚洲91av视频| 亚洲av无码专区在线观看素人| 亚欧免费视频一区二区三区| yellow视频免费在线观看| 国产成人精品亚洲日本在线| 久久精品国产亚洲7777| 在线精品免费视频| 8x8×在线永久免费视频| 一级特黄录像视频免费| 亚洲午夜无码久久久久小说| 亚洲A∨无码无在线观看| 亚洲午夜日韩高清一区| 久久精品女人天堂AV免费观看| 国产猛男猛女超爽免费视频| 美女视频黄a视频全免费网站一区| 亚洲成a人片在线观看中文!!! | 成年性午夜免费视频网站不卡| 大地资源中文在线观看免费版| 亚洲中文字幕久久精品无码A| 亚洲AV成人无码久久精品老人| 又黄又爽无遮挡免费视频| 最近的免费中文字幕视频| 一级女人18毛片免费| 最刺激黄a大片免费网站| 免费国产成人午夜在线观看| 岛国岛国免费V片在线观看| 欧洲乱码伦视频免费国产|