ssm项目(二)

继上篇,这篇进行分页功能

一:先把jsp页面写了



			<tr>
				<td colspan="6">共多少页 <a>首页</a> <a>上一页</a> <a>下一页</a> <a>末页</a>
					转到:<input type="text" name="pageNo" size="2"> <input
					type="submit" value="Go">
				</td>
			</tr>

我们要创建一个pager对象,我们需要的属性有总页数,总记录数,第几页,每页显示多少条数据

二:创建pager对象

public class pager {
	//每页多少条记录
	private int pageSize;
	//当前为第几页
	private int pageNo;
	//一共多少页数
	private int pageTotal;
	//一共多少条数据
	private int rowsTotal;
        //get.set略去
}

三:分析

先补齐jsp,

		<tr>
				<td colspan="6">共${pager.pageTotal }页
				<a href="turnPage?pageNo=1&pageTotal=${pager.pageTotal }">首页</a>
				<a href="turnPage?pageNo=${pager.pageNo-1 }&pageTotal=${pager.pageTotal }">上一页</a>
				<a href="turnPage?pageNo=${pager.pageNo+1 }&pageTotal=${pager.pageTotal }">下一页</a>
				<a href="turnPage?pageNo=${pager.pageTotal }&pageTotal=${pager.pageTotal }">末页</a>
				转到:<input type="text" name="pageNo" size="2"> <input
				type="hidden" name="pageTotal" value="${pager.pageTotal }">
				<input type="submit" value="Go">
				</td>
			</tr>

Controller

	@RequestMapping(value = "turnPage")
	public String turnPage(pager pager, Model model) {
		pager = pagerService.pagerDeal(pager);
		model.addAttribute("pager", pager);
		model.addAttribute("users", UserServiceImpl.findByPager(pager));
		return "jsp/index";
	}
	@RequestMapping(value = "main")
	public String main(Model model) {
		pager pager = pagerService.getNewInstance();
		model.addAttribute("pager", pager);
		model.addAttribute("users", UserServiceImpl.findByPager(pager));
		return "jsp/index";
	}

pagerUtil

public class pagerService {
	@Autowired
	private UserService UserServiceImpl;
	public pager pagerDeal(pager pager) {
		if (pager.getPageNo() < 1) {
			pager.setPageNo(1);
		} else if (pager.getPageNo() > pager.getPageTotal()) {
			pager.setPageNo(pager.getPageTotal());
		}
		pager.setPageSize(5);
		pager.setRowsTotal(UserServiceImpl.getCount());
		pager.setPageTotal((int) Math.ceil(((double) pager.getRowsTotal() / (double) pager.getPageSize())));
		return pager;
	}
	
	public pager getNewInstance() {
		pager pager = new pager(5, 1, 0, 0);
		pager.setRowsTotal(UserServiceImpl.getCount());
		pager.setPageTotal((int) Math.ceil(((double) pager.getRowsTotal() / (double) pager.getPageSize())));
		return pager;
	}
}

基本的分页已经写好了

index.jsp-->findById-->update.jsp-->main-->turnPage-->index.jsp

传过来的两个pager参数都为0,就会去获取第一页的数据,不是我们所想,我们要修改获取当前页面

SO,index.jsp的修改超链接来附带pager参数

在findById的Controller结果pager参数并加入request域中

在update.jsp加上两个隐藏域传值

将pager参数一直传到turnPageController

Controller之间传递参数,我用了一个傻办法,通过视图传

 

 

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值