分页(pagehelper)

pom.xml

		<!-- 分页 -->
		<dependency>
			<groupId>com.github.pagehelper</groupId>
			<artifactId>pagehelper</artifactId>
			<version>5.1.8</version>
		</dependency>

spring.xml

	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource"></property>
		<property name="configLocation" value="classpath:mybatis.xml"></property>
		<property name="mapperLocations" value="classpath:com/fs/mapper/**/*.xml"></property>
		<property name="plugins">
	        <array>
	            <bean class="com.github.pagehelper.PageInterceptor">
	                <!-- 这里的几个配置主要演示如何使用,如果不理解,一定要去掉下面的配置 -->
	                <property name="properties">
	                    <value>
	                        helperDialect=mysql
	                        reasonable=true
	                    </value>
	                </property>
	            </bean>
	        </array>
    	</property>
	</bean>

前端

	<!-- 得到每页列表内容 -->
      	<c:forEach items="${page.list}" var="question">
	    </c:forEach>
	    
	<!-- 分页(模仿百度搜索页面的跳页逻辑) -->
	<div align="center">
		<nav aria-label="Page navigation">
		<ul class="pagination">
			<li><a href="<%=basePath%>exam/questionList?currentPage=1&pageSize=${page.pageSize}">首页</a></li>
			<li><a
				href="<%=basePath%>exam/questionList?currentPage=${page.pageNum-1}&pageSize=${page.pageSize}"
				aria-label="Previous"> <span aria-hidden="true">&laquo;</span>
			</a></li>
			
			<c:set var="num" value="${10}"></c:set>
			<c:set var="mid" value="${Math.floor(num/2)+1}"></c:set>
			<c:set var="startNum" value="${page.pageNum-(mid-1)}"></c:set>
			<c:set var="endNum" value="${startNum+(num-1)}"></c:set>
			<c:if test="${page.pages<=num}">
				<c:set var="startNum" value="${1}"></c:set>
				<c:set var="endNum" value="${page.pages}"></c:set>
			</c:if>
			<c:if test="${page.pages>num}">
				<c:if test="${startNum<1}">
					<c:set var="startNum" value="${1}"></c:set>
					<c:set var="endNum" value="${startNum+(num-1)}"></c:set>
				</c:if>
				<c:if test="${endNum>page.pages}">
					<c:set var="startNum" value="${page.pages-(num-1)}"></c:set>
					<c:set var="endNum" value="${page.pages}"></c:set>
				</c:if>
			</c:if>

			<c:forEach begin="${startNum}" end="${endNum}" varStatus="i">
				<li id="${i.index}"><a
					href="<%=basePath%>exam/questionList?currentPage=${i.index}&pageSize=${page.pageSize}">${i.index}</a></li>
			</c:forEach>
			<li><a
				href="<%=basePath%>exam/questionList?currentPage=${page.pageNum+1}&pageSize=${page.pageSize}"
				aria-label="Next"> <span aria-hidden="false">&raquo;</span>
			</a></li>
			<li><a
				href="<%=basePath%>exam/questionList?currentPage=${page.pages}&pageSize=${page.pageSize}">尾页</a></li>
			<li><a id="toPage">GO</a></li><li><input id="pages" style="height: 31px;width: 50px;" type="text" value="" "setPage()"/></li>
		</ul>
		</nav>
	</div>
<script type="text/javascript">
	//当前页数选中状态
	$(function() {
		$("#" + ${page.pageNum}).addClass("active");
	})
	//指定页面跳转
	function setPage() {
		var pages = $("#pages").val();
		$("#toPage").prop("href","<%=basePath%>exam/questionList?currentPage=" + pages + 		"&pageSize=${page.pageSize}");
	}
</script>

后端

	//控制层
	@RequestMapping(value = "questionList")
	public String questionList(@RequestParam(value = "currentPage", defaultValue = "1") int currentPage,
			@RequestParam(value = "pageSize", defaultValue = "8") int pageSize,Map map) {
		examService.questionList(currentPage, pageSize, map);
		return "system/questionList";
	}
	//业务层
	@Override
	public void questionList(int currentPage,int pageSize,Map map) {
		PageHelper.startPage(currentPage, pageSize);
		List<ExamQuestion> questions = examQuestionMapper.queryAllQuestion();
		PageInfo<ExamQuestion> page = new PageInfo<>(questions);
		map.put("page", page);
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值