傻瓜版的分页思路

  在做项目的过程中,遇到了好多次的页面分页,但是每次做的时候都忘记以前是怎么做的。

  最近的一个页面中,其分页情况是比较全的,既有展示,也有搜索。而且,本次做的分页也是比较之前相对完善的。

  因此,利用本次机会,我就把分页这个功能总结一下,以免以后忘记了。

情况说明:

  如上图,既有页面展示,也有搜索。也就是说,一进到这个页面,要做到对所有记录的分页展示,同时经过条件搜索后要对得到的搜索结果进行展示。并且,全纪录展示分页与搜索分页不会相互干扰,另外当搜索条件框内有内容时,也不会对分页结果产生影响。

思路如下:

  这里有一个方法,十分关键,所有的分页操作基本都是调用这个方法。

  


function skipPage(currentPage){
	var state = $("#stateselect").val();
	$("#stateHidden").val(state);
	var billcode = $("#billcode").val();
	$("#billcodeHidden").val(billcode);
	var begintime = $("#begintime").val();
	$("#begintimeHidden").val(begintime);
	var endtime = $("#endtime").val();
	$("#endtimeHidden").val(endtime);
	var beginprice = $("#beginprice").val();
	$("#beginpriceHidden").val(beginprice);
	var endprice = $("#endprice").val();
	$("#endpriceHidden").val(endprice);
	  $.ajax({
		  url:"/orders/searchOrder",
		  type:"post",
		  async:true,
		  data:{
			stateHidden:$("#stateHidden").val(),
			billcodeHidden:$("#billcodeHidden").val(),
			begintimeHidden:$("#begintimeHidden").val(),
			endtimeHidden:$("#endtimeHidden").val(),
			beginpriceHidden:$("#beginpriceHidden").val(),
			endpriceHidden:$("#endpriceHidden").val(),
			currentPage:currentPage,
		  },
		  success:function(data){
			  $("#orderTable").empty();
			  $("#orderTable").append(data);
			  $.ajax({
				url:"/SkipPageUtils/skipPageSearch",
				type:"post",
				async:true,
				data:{
					currentPage:currentPage},
				success:function(data){
					$("div .fenye").html(data);
				}
			  })
		  }
	  })
}

搜索按钮也要绑定这个方法

<input  type="button" value="搜索" onclick="skipPage(1)" style="cursor: pointer;">

后台代码:

后台@Controller代码,

service层的代码要运用到 PageHelper插件,如何运用可以去百度,有很多教程.

	@RequestMapping("/searchOrder")
	public ModelAndView searchOrder(Integer stateHidden,String billcodeHidden,
			String begintimeHidden,String endtimeHidden,
			Integer beginpriceHidden,Integer endpriceHidden,Integer currentPage,HttpSession session) {
		List<Orders> list = service.searchOrder(stateHidden,billcodeHidden,begintimeHidden,endtimeHidden,beginpriceHidden,endpriceHidden,session,currentPage);
		ModelAndView mv = new ModelAndView("shopping_orderManage_list_templete.jsp");
		mv.addObject("list", list);
		return mv;
	}

分页后台代码

	@RequestMapping("/skipPageSearch")
	public ModelAndView skipPageSearch(String url,Integer currentPage,HttpServletRequest req) {
		ModelAndView mv = new ModelAndView("common_fenye_templete_search.jsp");
		Integer totalPageNum = (Integer)req.getSession().getAttribute("totalPageNum");
		mv.addObject("totalPageNum",totalPageNum);
		mv.addObject("currentPage",currentPage);
		return mv;
	}

分页模板

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<a href="javascript:void(0);" onclick="skipPage(1)">首页</a>
<c:if test="${currentPage != 1 }">
	<a href="javascript:void(0);" onclick="skipPage(${currentPage-1 })">前一页</a>
</c:if>
<c:forEach begin="1" end="${totalPageNum }" var="i">
	<c:if test="${currentPage == i }">
		<a href="javascript:void(0);" onclick="skipPage(${i })" class="this">${i }</a>
	</c:if>
	<c:if test="${currentPage != i }">
		<a href="javascript:void(0);" onclick="skipPage(${i })">${i }</a>
	</c:if>
</c:forEach>
<c:if test="${currentPage != totalPageNum }">
	<a href="javascript:void(0);" onclick="skipPage(${currentPage+1 })">后一页</a>
</c:if>
<a href="javascript:void(0);" onclick="skipPage(${totalPageNum })">末页</a>

也就是说,无论是分页展示,还是搜索分页,都是围绕在skipPage(currentPage)这个方法操作的.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值