<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∨免费| 激情内射亚洲一区二区三区爱妻| 亚洲精品免费在线| 亚洲综合色一区二区三区小说| 91老湿机福利免费体验| 亚洲精品自在线拍| 在线永久免费的视频草莓| 色噜噜亚洲男人的天堂| 精品无码国产污污污免费| 亚洲AV无码一区二区三区性色| 日本一道高清不卡免费| 四虎国产精品成人免费久久| 精品国产亚洲男女在线线电影 | 亚洲6080yy久久无码产自国产| 亚洲性在线看高清h片| 日本免费一区二区在线观看| 亚洲香蕉免费有线视频| 国产精品1024永久免费视频| 美女视频黄的全免费视频网站| 91手机看片国产永久免费| 久久精品网站免费观看| 24小时日本在线www免费的| 手机看片久久国产免费| 亚洲国产精品成人AV无码久久综合影院| 免费v片视频在线观看视频| 久久亚洲精品成人777大小说| 久久久久亚洲Av片无码v| 亚洲激情黄色小说| av片在线观看永久免费| 亚洲AV无码乱码国产麻豆穿越 | 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 日韩毛片无码永久免费看| 日韩精品视频在线观看免费| 亚洲国产日韩在线视频| 无码人妻一区二区三区免费手机| 日韩亚洲人成在线综合| 久久夜色精品国产噜噜噜亚洲AV|