如何进行模糊分页

使用模糊分页需要3个参数:关键字:key,当前页:page,查询内容个数:count

核心代码:

	//所有菜单列表+分页
	private void foodList(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		String page = request.getParameter("page");
		//模糊查询 关键字
		String key = request.getParameter("foodName");
		if(null==page) {
			page="";
		}
		if(null==key) {
			key="";
		}
		Integer count = menuService.count(key);
		PageUtils pageUtils = new PageUtils(page,6,count);
		//查找所有菜品并分页
		List<food> list = menuService.foodList(key,(pageUtils.getCurrPage()-1)*6,6);
		
		request.setAttribute("pageUtils", pageUtils);
		request.setAttribute("list", list);
		request.setAttribute("key", key);
		request.getRequestDispatcher("/front/detail/caidan.jsp").forward(request, response);
	}

Html页面:

<a href="<%=basePath%>/menu?method=foodList&page=1&foodName=${key}">首页</a>
<a href="<%=basePath%>/menu?method=foodList&page=${pageUtils.prevPage}&foodName=${key}">上一页</a>
<a href="<%=basePath%>/menu?method=foodList&page=${pageUtils.nextPage}&foodName=${key}">下一页</a>
<a href="<%=basePath%>/menu?method=foodList&page=${pageUtils. lastPage}&foodName=${key}">尾页</a>

附件:pageUtils代码:

package com.baidu.utils;

public class PageUtils {

	private String page;  //当前页
	private int pageSize;  //每页显示数目
	private int count;  //总数据个数
	public PageUtils(String page, int pageSize, int count) {
		super();
		this.page = page;
		this.pageSize = pageSize;
		this.count = count;
		
		//初始化当前页
		initCurrPage();
		//初始化最后一页
		initLastPage() ;
		 
		//初始化下一页
		initNextPage() ;
		
		
		//初始化上一页
		 initPrevPage();
	}
	
	private int currPage;
	private int nextPage;
	private int lastPage;
	private int prevPage;
	
	
	
	
	
	public int getNextPage() {
		return nextPage;
	}

	public int getLastPage() {
		return lastPage;
	}

	public int getPrevPage() {
		return prevPage;
	}
	

	public int getPageSize() {
		return pageSize;
	}

	public int getCurrPage() {
		return currPage;
	}

	private void  initCurrPage() {
		
		if(null ==page|| "".equals(page)) {
			page="1";
		}
		
		currPage=Integer.parseInt(page);
		
	}
	
	private void  initLastPage() {
	
		lastPage=count/pageSize;
		if(count%pageSize !=0) {
			lastPage++;
		}
		
	}
	
	
	private void  initNextPage() {
		
		nextPage=currPage==lastPage?lastPage:currPage+1;
	}
	
	
	private void  initPrevPage() {
		
		prevPage=currPage==1?currPage:currPage-1;
	}
	
	
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值