分页----

分页

分页可以简单的理解为是你在搜索百度一样:请添加图片描述
其实我们仔细想想就能知道,分页无非就是变量的传递或者说是数据的实时变动(也可以说是更新/就像是1+1=2),现在就在分析是哪些变量:
1、pageMax —— 总页面数量(具体要看数据库有多少数据决定的)
2、pageSize —— 每个页面最多可以展示的数量(就是给他一个上限,不然数据太多也不好看)
3、pageIndex —— 当前页码,是从前端获取的(代表的是你切换到了第几页,不懂上面图片有框框标记)
4、start —— 每页开始的条数
5、end —— 每页结束的条数 (结合上面的变量start,就是从多少条开始再到多少条结束;例如1-9,页面数据从1条开始到第9条结束)

页码开始条数结束条数
11 =(1-1)* pagSize + 15=1*5
26 = (2-1)* pagSize + 15=2*5
311 = (3-1)* pagSize + 15=3*5
416 = (4-1)* pagSize + 15=4*5

推算即可,由此知道了
start = (pageIndex-1) * pageSize + 1
end = (pageIndex) * pageSize

1、用户点击了下一页进行了切换,程序会跳转到 你写好数据处理页面
请添加图片描述

2、在用户点击切换页面的时候对数据的接收,然后处理添加到request作用域中,使得前端页面可以再次接收新的数据,做出对应的更换

public class LoadDataServlet extends HttpServlet{
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		doPost(req, resp);
	}
	
	int i;
	
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		try {
		// 配置编码
		req.setCharacterEncoding("utf-8");
		resp.setContentType("text/html;charset=utf-8");
		
		// 获取内置对象
		PrintWriter out = resp.getWriter();
		HttpSession session = req.getSession();
		
		// 设置页码变量,表示当前页码
		int pageIndex = 1;
		
		// 不是空数据
		if (req.getParameter("pageIndex") != null) {
			// 将前端实时点击改变的页码接受
			pageIndex = Integer.parseInt(req.getParameter("pageIndex"));
		}
		
		// 获取模糊查询的数据
		String str = req.getParameter("str");
		if (str == null) {
			str = "";
		}
		
		// 将要绑定到界面的数据保存在request里面
		List<News> list = new NewsDao().queryIndex(pageIndex,str);
		req.setAttribute("list", list);
		
		// 将页码保存在request,前端调用
		req.setAttribute("pageIndex", pageIndex);
		
		// 将模糊查询数据保存在request作用域
		req.setAttribute("str", str);
		
		//保存在request里面的数据要使用转发在能进行调用
		req.getRequestDispatcher("/admin/admin.jsp").forward(req, resp);;
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	}
}

请添加图片描述

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值