Solved!
I added to PaginatedListImpl the method:
public PaginatedListImpl(String tableId, HttpServletRequest request, int
pageSize) {
sortCriterion = request.getParameter("d-" + tableId + "-s");
String sortDir = request.getParameter("d-" + tableId + "-o");
sortDirection =
ExtendedPaginatedList.IRequestParameters.DESC.equals(sortDir)?
SortOrderEnum.DESCENDING : SortOrderEnum.ASCENDING;
this.pageSize = pageSize != 0 ? pageSize : DEFAULT_PAGE_SIZE ;
String page = request.getParameter("d-" + tableId + "-p");
index = page == null ? 0 : Integer.parseInt(page) - 1;
}
>From my Struts 2 action:
myPaginatedList = getPaginatedListFromRequest("pending",
getRequest()); // first parameter: tableId
Then, in my jsp I can have two tables, and the sorting, paging parameters
are kept between requests:
<display:table uid="pending" name="transactionsInProcessStatus"
cellpadding="0" requestURI="" defaultsort="3" sort="external"
defaultorder="descending" pagesize="<%=pageSize%>" class="table"
export="false" keepStatus="true">
<display:setProperty name="pagination.pagenumber.param"
value="d-pending-p"/>
<display:setProperty name="pagination.sort.param" value="d-pending-s"/>
<display:setProperty name="pagination.sortdirection.param"
value="d-pending-o"/>
<display:column property="signatureDescription"
sortProperty="description" escapeXml="true"
sortable="true" titleKey="userDocument.title" url="/doc/view.html"
paramId="id" paramProperty="id" class="column_title" />
<display:column property="requestsComments"
titleKey="signatureRequest.signatureComments" sortable="false"/>
</display:table>
<display:table uid="finalized" name="transactionsFinalizedStatus"
cellpadding="0" requestURI="" defaultsort="2" sort="external"
defaultorder="descending" class="table" export="false">
<display:setProperty name="pagination.pagenumber.param"
value="d-finalized-p"/>
<display:setProperty name="pagination.sort.param" value="d-finalized-s"/>
<display:setProperty name="pagination.sortdirection.param"
value="d-finalized-o"/>
<display:column property="signatureDescription"
sortProperty="description" escapeXml="true"
sortable="true" titleKey="userDocument.title" url="/doc/view.html"
paramId="id" paramProperty="id" class="column_title" />
<display:column property="requestsComments"
titleKey="signatureRequest.signatureComments" sortable="false"/>
</display:table>
I upgraded to displaytag 1.2, but not sure it was necessary.
My previous post:
I am desperately trying to obtain the proper links for server side paging
and sorting with display tag 1.1.
In one of my jsp’s I have:
<display:table uid="pending" name="transactionsInProcessStatus"
cellpadding="0" requestURI="" defaultsort="3" sort="list"
defaultorder="descending" pagesize="” class=”table” export=”false”
decorator=”es.isigma.firmaqui.webapp.taglib.TransactStatusDecorator”>
My PaginatedList implementation is similar to this one:
http://code.google.com/p/pagingappfuse/source/browse/trunk/src/main/java/com/pobox/paging/webapp/helper/PaginatedListImpl.java
The link generated by displaytag for sorting is:
http://localhost:8080/doc/list.html?sort=description&dir=asc
The problem is, Ineed the “usual” encoded link (because I have two tables in
the same jsp page).
PieMailIsigma [image: isotipo isigma]
Josep García Corral
Ingeniero de Software
isigma, la referencia en firma electrónica
Tel. +34 932 387 108
www.isigma.es
[image: logotipo portasigma]
¡Prueba gratis la firma online! <http://www.portasigma.com>