標準を拡張してdisplaytagを実装しています。詳細は下記をご覧ください。
JSP
display:table name="testList" id="obj" requestURI="testAction.do?pageAction=init" pagesize="${paging_size}" sort="list" class="table" **sort="external"** excludedParams="*" decorator="dyndecorator" export="false" **keepStatus="true"**
display:setProperty name="pagination.pagenumber.param" value="page"
display:setProperty name="pagination.sort.param" value="sort" /
display:setProperty name="pagination.sortdirection.param" value="dir"
display:column property="testNo" title="Test no." **sortable="true"** **sortName="testNo"**
display:column property="testValue" title="Test value" **sortable="true"** **sortName="testValue"**
display:table
PaginatedListImpl
public PaginatedListImpl(HttpServletRequest request) {
sortCriterion = request.getParameter("sort");
sortDirection = "desc".equals(request.getParameter("dir"))? SortOrderEnum.DESCENDING : SortOrderEnum.ASCENDING;
pageSize = DEFAULT_PAGE_SIZE;
String page = request.getParameter("page");
index = page == null? 0 : Integer.parseInt(page) - 1;
}
ジャワ
public PaginatedListImpl getTest(
Criteria criList = session.createCriteria(TestDto.class);
criList.setFirstResult(pageDisplay.getFirstRecordIndex());
criList.setMaxResults(pageDisplay.getObjectsPerPage());
pageDisplay.setList(criList.list());
pageDisplay.setTotal((Integer) criTotal.uniqueResult());
return pageDisplay;
}
とにかく、ブラウザが結果をレンダリングするときにブラウザに問題が見つかりました
page_no の上にマウスを移動すると。「http://localhost:8080/WebProject/testAction.do? page=2 &pageAction=init」と表示されます
列名の上にマウスを移動すると。「http://localhost:8080/WebProject/testAction.do? sort=testValue &* dir=asc *pageAction=init」と表示されます
しかし、この「http://localhost:8080/WebProject/testAction.do? page=2&sort=testValue&dir=asc &pageAction=init」のような両方のリンクが必要です
Google で何度も検索していますが、まだ問題があります。
どのようにできるのか?誰か私を助けてください。
本当にありがとうございました..