一覧表のページング処理 |
|
初期表示 | |
//初期表示 ArrayList<ListRow> list = getGetListService().getListService(); //リストホルダー PagedListHolder<ListRow> allList = new PagedListHolder<ListRow>(list); allList.setPageSize(5); //1ページのページ数を設定 allList.setSort(new MutableSortDefinition("name", true, true)); //ソート定義 allList.resort(); //ソート request.getSession().setAttribute("listData_all", allList); //全データ request.setAttribute("listData", allList); //最初のページ |
|
Next/Prev | |
//ページ切り替え PagedListHolder allList = (PagedListHolder) request.getSession().getAttribute("listData_all"); if (allList == null) { request.setAttribute("message", "Your session has timed out. Please start over again."); return mapping.findForward("failure"); } allList.nextPage(); //次ページ request.setAttribute("listData", allList); allList.previousPage(); //前のページ |
|
Jump Page | |
//ページ切り替え PagedListHolder allList = (PagedListHolder) request.getSession().getAttribute("listData_all"); if (allList == null) { request.setAttribute("message", "Your session has timed out. Please start over again."); return mapping.findForward("failure"); } allList.setPage(2); request.setAttribute("listData", allList); |
|
Sort | |
//ページ切り替え PagedListHolder allList = (PagedListHolder) request.getSession().getAttribute("listData_all"); if (allList == null) { request.setAttribute("message", "Your session has timed out. Please start over again."); return mapping.findForward("failure"); } MutableSortDefinition sortDef = (MutableSortDefinition)allList.getSort(); sortDef.setProperty("name"); sortDef.setAscending(false); //desc allList.resort(); request.setAttribute("listData", allList); |
|
JSP Source | |
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Paging Test</title> </head> <body> <table> <thead> <tr> <th>ID</th> <th>Name</th> <th>Tel</th> </tr> </thead> <tbody> <c:forEach var="varList" items="${listData.pageList}"> <tr> <td><c:out value="${varList.id}"/></td> <td><c:out value="${varList.name}"/></td> <td><c:out value="${varList.tel}"/></td> </tr> </c:forEach> </tbody> </table> <table> <tbody> <tr> <td> <c:if test="${!listData.firstPage}"> <a href="?page=previous"><B><< Prev</B></a> </c:if> </td> <td> <c:if test="${!listData.lastPage}"> <a href="?page=next"><B>Next >></B></a> </c:if> </td> </tr> <tr> <td> Page Jump </td> <td> <a href="?page=no1">1</a> <a href="?page=no2">2</a> <a href="?page=no3">3</a> <a href="?page=no4">4</a> </td> </tr> <tr> <td> <c:out value="${listData.page + 1}"/> / <c:out value="${listData.pageCount}"/> </td> </tr> <tr> <td>Sort Name</td> <td><a href="?page=sortNameAsc">asc</a></td> <td><a href="?page=sortNameDesc">desc</a></td> </tr> <tr> <td>Sort Tel</td> <td><a href="?page=sortTelAsc">asc</a></td> <td><a href="?page=sortTelDesc">desc</a></td> </tr> <tr> <td> Sort Status : <c:out value="${listData.sort.property}"/> , <c:if test="${listData.sort.ascending}">asc</c:if> <c:if test="${!listData.sort.ascending}">desc</c:if> </td> </tr> </tbody> </table> </body> </html> |
|
Struts Action Source | |
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { String page = request.getParameter("page"); if(page == null){ //初期表示 ArrayList |