Struts2 нумерация страниц - PullRequest
       1

Struts2 нумерация страниц

0 голосов
/ 25 ноября 2010

Моему приложению Struts2 требуется функциональность разбиения на страницы, примененная к некоторым записям, но мне нужно настроить внешний вид «Last 1 - 2 - 3 Next», а также иметь возможность использовать поле со списком для выбора количества записей.должен быть виден (10 - 20 - 30 - 40 -50).

Я пытался достичь этой цели двумя способами: 1) использовать библиотеку отображаемых тегов, но я не могу настроить внешний вид, потому чтоавтоматически генерируется библиотекой, и я не понимаю, как реализовать поле со списком для выбора количества записей, которые должны быть видны 2) создать свой собственный код для выполнения этой функции, но это слишком длинная работа и не хватает времени из-за истечения срока действия,Мой вопрос: существует ли какая-либо библиотека Struts2 для реализации этой функциональности?Или можно настроить библиотеку отображаемых тегов для полосы прокрутки страницы и поля со списком записей?

Ответы [ 3 ]

0 голосов
/ 26 ноября 2010

Я написал пользовательский файл только для этой цели, как показано ниже, а затем просто использовал его так:

Использование:

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 голосов
/ 04 мая 2012

привет, вы можете попробовать Struts2 JQuery Grid здесь код

<%@ 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>
0 голосов
/ 26 ноября 2010

Я могу понять из базы кода Struts2, что нет никакой функциональности, как описано вами, предоставленной самой Struts2 ..

Что касается тега Display, я не использовал их много, но, поскольку они являются частью исходного кода oprn, я уверен, что мы можем настроить еще одну вещь, касающуюся настройки тега display, задавая вопрос под тегом display, на который вы получите лучший ответ при быстрый темп

...