随机名言

JavaWeb分页



  • 平时我们查询的必要参数是写在Dao层的,但这样是不合理的,Dao层只是用来访问和操作数据库,不应该包含其他信息,所以通用做法创建一个Page对象,将分页信息全部放到里面

Page对象

public class Page {
	
	private List<Object> list;	//存放查询的数据
	private int currentPage;	//当前页数
	private int pageSize;		//每页显示的数据条数
	private int totalRecord;	//总数据条数
	private int totalPage;		//总页数
	
	//构造函数,两个参数
	public Page(int currentPage, int pageSize) {
		super();
		this.currentPage = currentPage;
		this.pageSize = pageSize;
	}
	
	public List<Object> getList() {
		return list;
	}
	public void setList(List<Object> list) {
		this.list = list;
	}
	public int getCurrentPage() {
		return currentPage;
	}
	public void setCurrentPage(int currentPage) {
		this.currentPage = currentPage;
	}
	public int getPageSize() {
		return pageSize;
	}
	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}
	public int getTotalRecord() {
		return totalRecord;
	}
	public void setTotalRecord(int totalRecord) {
		this.totalRecord = totalRecord;
	}
	public int getTotalPage() {
		return totalPage;
	}
	public void setTotalPage(int totalPage) {
		this.totalPage = totalPage;
	}
}

Service层

public Page getPageData(int currentPage,int pageSize){
	
	Page page = new Page(currentPage,pageSize);
	
    //通过Dao层把查询数据放到Page对象中
	page.setTotalPage(pageDao.getTotalPage);
	page.setTotalRecord(pageDao.getTotalRecord);
	page.setList( pageDao.setList(currentPage,pageSize) );
	
    //返回Page给Web层
	return page;
}

Web层

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    //获取前端传过来的参数
	int currentPage = Integer.parseInt( request.getParameter("currentPage") );
	int pageSize = Integer.parseInt( request.getParameter("pageSize") );
	
    //处理Page的Service对象
	PageService pageService = new PageService();
	
    //返回数据给前端,这里应该返回Json对象
	Page page = pageService.getPageData(currentPage, pageSize);
    
    //阿里巴巴有个开源的jar包,fastJson可以Bean和Json互转,具体操作可以看下面链接
    return JSON.toJSONString(page);
}

FastJson 点这里看对象和Json互转



posted @ 2019-12-21 11:33  Howlet  阅读(226)  评论(0编辑  收藏  举报

Copyright © By Howl