首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

构建基于maven的综合项目(6)-分页

2012-11-01 
构建基于maven的综合项目(六)--分页一、前端分页1、将分页部分单独做成一个jsp%@page importjava.net.URL

构建基于maven的综合项目(六)--分页
一、前端分页
    1、将分页部分单独做成一个jsp

<%@page import="java.net.URLEncoder"%><%@page language="java" pageEncoding="utf-8"%><%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %><link type="text/css" rel="stylesheet" href="<c:url value='/styles/page.css'/>"/><%//每页显示记录数int pageSize = (Integer)request.getAttribute("pageSize");//最多显示分页页数int displayPageCount = (Integer)request.getAttribute("displayPageCount");//当前页int currentPage = (Integer)request.getAttribute("currentPage");//记录总数int count = (Integer)request.getAttribute("count");//总页数int pageCount = 0;if(count % pageSize == 0){pageCount = count / pageSize;} else {pageCount = count / pageSize + 1;}if(pageCount < currentPage){currentPage = pageCount;}//起始页int pageBegin = currentPage - (displayPageCount / 2);if(pageBegin < 1){pageBegin = 1;}//结束页int pageEnd = currentPage + (displayPageCount / 2);if(pageEnd > pageCount){pageEnd = pageCount;}//关键字String keyWord = request.getAttribute("keyWord") == null ? "" : (String)request.getAttribute("keyWord");keyWord = URLEncoder.encode(keyWord,"utf-8");String actionString = (String)request.getAttribute("actionString");%><!-- 页面显示连接 --><a id="start_page" name="code"><div id="page_div" name="currentPage" value="${currentPage }">        <input type="hidden" name="keyWord" value="${keyWord }"/>    </form>    <%@include file="../common/page.jsp" %></div>

    3、后台分页对象Page.java
package com.cpkf.notpad.vo;import java.util.ArrayList;import java.util.List;import javax.servlet.http.HttpServletRequest;import com.cpkf.notpad.commons.constants.PageConstants;/**   * Filename:    Page.java * Description: 分页对象 * Company:      * @author:     Jiang.hu * @version:    1.0 * Create at:   2011-6-6 下午12:47:38 * modified:     */public class Page {//每页显示记录数private int pageSize;//显示分页数private int displayPageCount;//当前页private int currentPage;//总记录数private int count;//关键字private String keyWord;//当前页记录集合private List list = new ArrayList();//请求路径private String actionString;public String getActionString() {return actionString;}public void setActionString(String actionString) {this.actionString = actionString;}public List getList() {return list;}public void setList(List list) {this.list = list;}public int getPageSize() {return pageSize;}public void setPageSize(int pageSize) {this.pageSize = pageSize;}public int getDisplayPageCount() {return displayPageCount;}public void setDisplayPageCount(int displayPageCount) {this.displayPageCount = displayPageCount;}public int getCurrentPage() {return currentPage;}public void setCurrentPage(int currentPage) {this.currentPage = currentPage;}public int getCount() {return count;}public void setCount(int count) {this.count = count;}public String getKeyWord() {return keyWord;}public void setKeyWord(String keyWord) {this.keyWord = keyWord;}/*  * method name   : initPage * description   : 初始化page对象 * @author       : Jiang.Hu * @param        : @param request * @return       : Page * Create at     : 2011-6-6 下午12:56:40 * modified      :  */      public static Page initPage(HttpServletRequest request){int currentPage = request.getParameter("currentPage") == null ? 1 : Integer.parseInt(request.getParameter("currentPage"));String keyWord = request.getParameter("keyWord") == null ? "" : request.getParameter("keyWord");String actionString = request.getContextPath() + request.getServletPath();Page page = new Page();page.setPageSize(PageConstants.PAGE_SIZE);page.setDisplayPageCount(PageConstants.DISPLAY_PAGE_COUNT);page.setCurrentPage(currentPage);page.setKeyWord(keyWord);page.setActionString(actionString);return page;}/*  * method name   : setPage * description   : 设置page对象 * @author       : Jiang.Hu * @param        : @param request * @param        : @param page * @return       : void * Create at     : 2011-6-6 下午12:56:57 * modified      :  */      public static void setPage(HttpServletRequest request,Page page){request.setAttribute("pageSize", page.getPageSize());request.setAttribute("displayPageCount", page.getDisplayPageCount());request.setAttribute("currentPage", page.getCurrentPage());request.setAttribute("count", page.getCount());request.setAttribute("keyWord", page.getKeyWord());request.setAttribute("actionString", page.getActionString());}}

    4、servlet
@RequestMapping(value="/account/showUserList.do",method={RequestMethod.POST,RequestMethod.GET})public String showUserList(HttpServletRequest request,HttpServletResponse response){Page page  = accountService.getAllAccountVosForPage(Page.initPage(request));List<AccountVo> accountList = page.getList();if(accountList != null){request.setAttribute(AccountConstants.ACCOUNT_LIST, accountList);}Page.setPage(request, page);return "account/accountList";}

    5、dao层我们将分页查询的数据放入page对象中返回即可;
        在page.jsp中,我们动态获取页面请求,并设置到分页form的action属性中,这样,一个页面可以满足不同分页请求

热点排行