2010-11-25 32 views
0

私のStruts2アプリケーションでは、いくつかのレコードに適用されるページ機能が必要ですが、カスタマイズする必要があるのは「最終1 - 2 - 3次」の外観です。また、コンボボックスを使用して、多くのレコードを表示する必要があります(10 - 20 - 30 - 40 - 50)。Struts2ページ区切り

私は、この目標を達成するために、2つの方法を試してみました

: 1)は、表示タグライブラリを使用しますが、私は外観をカスタマイズすることはできないんだけど、ライブラリによって自動生成されるので、私はどのように実装されていません。どのくらいの数のレコードを表示するかを選択するためのコンボボックス 2)この機能を達成するための独自のコードを作成しますが、あまりにも長く、期限切れのために時間が足りません。 私の質問です:この機能を実現するためのStruts2ライブラリがありますか?または、ページスクロールバーとレコードコンボボックスの表示タグライブラリをカスタマイズすることはできますか?

答えて

0

私は自分自身でStruts2のが提供するあなたによって記載されているように何の機能はありませんStruts2のコードベースからの洞察を与えることができます。..

私は非常にそれらを使用していないが、それらはoprnソースの一部であるため、表示タグについて私は表示タグのカスタマイズに関するもう1つのことをカスタマイズできると確信しています。表示タグの下で質問してください。あなたはより速いペースでより良い答えを得るでしょう。

+0

のですか? – user962206

+0

@ user962206:それはカスタムインプリメンテーションです –

+0

あなたはどんな洞察もそれに当てはめることができますか? – user962206

0

私は以下の目的のためにカスタムtldを書きました。このように:

使用法:

paginate.tag 1} ">

<c:set var="showingPage" 
    value="${param.pageNumber == null ? 1 : param.pageNumber}" /> 

<c:url value="${postUrl}" var="previousUrl"> 
    <c:param name="pageNumber" value="${showingPage - 1}" /> 
    <c:param name="perPage" value="${perPage}" /> 
</c:url> 

<c:url value="${postUrl}" var="nextUrl"> 
    <c:param name="pageNumber" value="${showingPage +1}" /> 
    <c:param name="perPage" value="${perPage}" /> 
</c:url> 

<div class="pagination" /> 

<c:if test="${showingPage > 1}"> 
    <a href="${previousUrl}"> &lt;&lt; Previous</a> 
</c:if> 

<fmt:formatNumber var="endCounter" pattern="0"> 
    <%= totalCount % perPage > 0 ? Math.ceil(totalCount/perPage) + 1 : totalCount/perPage %> 
</fmt:formatNumber> 

<c:forEach begin="1" end="${endCounter}" var="index"> 
    <c:url value="${postUrl}" var="url"> 
     <c:param name="pageNumber" value="${index}" /> 
     <c:param name="perPage" value="${perPage}" /> 
    </c:url> 

    <a href="${url}" class="${index == showingPage ? 'selected' : ''}">${index}</a> 
</c:forEach> 

<c:if test="${endCounter != showingPage}"> 
    <a href="${nextUrl}"> Next &gt;&gt;</a> 
</c:if> 


</div> 
</c:if> 
0

やああなたがここにStruts2のをjqueryのグリッドを試すことができますどのようにあなたがStruts2のにページネーションを実装しないコード

<%@ page contentType="text/html; charset=UTF-8"%> 
<%@ taglib prefix="s" uri="/struts-tags"%> 
<%@ taglib prefix="sj" uri="/struts-jquery-tags"%> 
<%@ taglib prefix="sjg" uri="/struts-jquery-grid-tags"%> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 


<sj:div id="resultsDiv"> 
    <body> 
     <div id="mainframe"> 
      <s:form> 
       <div id="sucessMsg"> 
        <s:property value="msg" /> 
       </div> 
       <s:url id="editurl" action="editUser" /> 
       <s:url id="deleteurl" action="deleteUser" /> 

       <script type="text/javascript"> 

function editLinkFormatter(cellval, options, rowObject, icon, link_class, link_action) { 
    //alert(rowObject.username); 

    return "<a href='#' onClick='javascript:openEditDialog(&#34;"+cellval+"&#34;,&#34;"+rowObject.username+"&#34;)'><font class='hyperlink'><u>" + rowObject.username + "</u></font></a>"; 
} 
function deleteLinkFormatter(cellval, options, rowObject, icon, link_class, link_action) { 

    return "<a href='deleteUser?userid="+cellval+"' onClick='javascript: return delete_user()'><font class='hyperlink'><u>Delete</u></font></a>"; 
    //return "<a href=deleteUser?userid="+cellval+">Delete</a>"; 
} 
colModal: [ 
      {name: 'userid', formatter: function (cellvalue, options, rowObject) { 
        return editLinkFormatter(cellvalue, options, rowObject, 
         'ui-icon-pencil', 'edit-link-class', 'Edit'); 
       }}, 
      {name: 'userid', formatter: function (cellvalue, options, rowObject) { 
        return deleteLinkFormatter(cellvalue, options, rowObject, icon, link_class, link_action); 
       }} 

     ]; 

     function openEditDialog(userid,username) { 


       $("#resultsDiv").load("<s:property value="editurl"/>?userid="+userid+"&username="+username); 

     } 
     function delete_user() { 

      var agree=confirm("Are you sure you want to Delete?"); 
      if (agree){ 
       return true; 
      } 
      else{ 
       return false; 
      } 

       // $("#edit_Users").dialog('open'); 
     } 

     function unlockerFormatter(cellval, options, rowObject, icon, link_class, link_action) { 

      if(rowObject.loginStatus=='Locked'){ 

      return "<a href='unlockuser?userid=" + rowObject.userid + "')'><font class='hyperlink'><u>Locked</u></font></a>"; 
      } 
      else{ 
       return "UnLocked"; 
      } 
      /* return "<a href='deleteUser?userid="+cellval+"' onClick='javascript: return deleteUser("+cellval+")'><u>Delete</u></a>"; */ 
      //return "<a href=deleteUser?userid="+cellval+">Delete</a>"; 
     } 
</script> 
       <sj:dialog id="edit_Users" title="Edit User" autoOpen="false" 
        modal="true" width="800" /> 
       <sj:div id="draggable" draggable="true"> 
        <s:url id="remoteurl" action="viewUserstemp" /> 


        <sjg:grid id="gridtable" caption="Users" dataType="json" 
         href="%{remoteurl}" pager="true" gridModel="gridModel" 
         rowList="10,15,20,50,100" rowNum="10" rownumbers="true" viewrecords="true" 
         width="800" navigator="true" navigatorView="false" navigatorDelete="false" navigatorAdd="false" navigatorEdit="false" navigatorSearch="false"> 
         <sjg:gridColumn name="userid" index="userid" title="User Id" 
          sortable="false" /> 
         <sjg:gridColumn name="userid" index="username" title="User Name" 
          sortable="true" formatter="editLinkFormatter" /> 
         <sjg:gridColumn name="emailid" index="emailid" title="Email Id" 
          sortable="true" /> 
         <sjg:gridColumn name="userCreatedDate" index="userCreatedDate" 
          title="Created Date" sortable="true" /> 
         <sjg:gridColumn name="userModifiedDate" index="userModifiedDate" 
          title="Modified Date" sortable="true" /> 
         <sjg:gridColumn name="accstatus" index="accstatus" 
          title="Account Status" sortable="true" /> 
         <sjg:gridColumn name="userid" index="username" title="Delete User" 
          sortable="true" formatter="deleteLinkFormatter" /> 
         <sjg:gridColumn name="loginStatus" index="loginStatus" title="Unlock User" 
          sortable="true" formatter="unlockerFormatter" /> 
        </sjg:grid> 

        <br></br> 
        <s:submit action="loadUserValues" cssClass="ui-button ui-widget ui-state-default ui-corner-all ui-state-hover" name="button" 
         id="button" value="New User" /> 
        <br /> 


       </sj:div> 

      </s:form> 
      <%-- 
        <td height="25" align="left" valign="middle"> 
         <s:url id="url" action="unlockuser"> 
           <s:param name="userid"> 
            <s:property value="userid" /> 
           </s:param> 
          </s:url> 

           <s:set name="type" value="%{loginStatus}" /> 
         <s:if test="%{#type=='Locked'}"> 
          <s:a href="%{url}" title="Click here to Unlock" ><s:property value="loginStatus"/></s:a> 
        </s:if> 
        <s:else>    
         Unlocked 
        </s:else>  --%> 

          </td> 
     </div> 
    </body> 
</sj:div> 
</html>