美文网首页我爱编程
2.关于ssm框架-maven中的PageInfo分页插件运用

2.关于ssm框架-maven中的PageInfo分页插件运用

作者: 北凉有一骑士 | 来源:发表于2018-05-16 15:15 被阅读0次

1.项目用的是ssm框架,没有用maven管理,不能在pom.xml中配置,所以导入相关jar包,2个包

pagehelper-4.1.1.jar

jsqlparser-0.9.4.jar  

2.配置spring-mybatis.xml文件

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

       < property name="dataSource" ref="dataSource"/>

       < property name="mapperLocations" value="classpath:com/hoomsun/Mapper/*/*.xml" />//这个是我项目目录下的value值,别全复制了

        <property name="plugins">

                <array>

                        <bean class="com.github.pagehelper.PageHelper">

                            <property name="properties">

                                <value>

                                        dialect=oracle     //我用的是oracle

                                        reasonable=true

                                <value>

                            </property>

                        </bean>

                </array>

        </property>

<bean>

3.关键代码片段

    controller层

import com.github.pagehelper.PageHelper;

import com.github.pagehelper.PageInfo;

... ...

@RequestMapping(value="/frequencyLists")//前台展示页面

public String frequencyList(@RequestParam(value="pn",defaultValue="1")Integer pn,HttpServletRequest request,HttpServletResponse                                                response,Model model) throws Exception{

        PageHelper.startPage(pn,5);//传入页面以及每页的大小,5(pageSize)是自己设定,1页有几条数据

        List> frequencyListTotal=frequencyService.selectFrequency();//返回的查询结果

        PageInfo page=new PageInfo(frequencyListTotal,5);//这就算分页完成了

        model.addAttribute("frequencyListTotal",frequencyListTotal);//前台可以拿到这个列表结果

        model.addAttribute("pageInfo", page);//前台可以拿到这个分页结果

        return "frequency/frequencyList";//返回前台

}

    前台分页

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%

@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>

... ...

当前${pageInfo.pageNum}页,总${pageInfo.pages }页,总共${pageInfo.total}条记录  //pageInfo是后台传过来的,参数都是这个插件封装好的,其它参数                                                                                                                                          看API

<ul >

        <li><a href="frequency/frequencyList?pn=${pageInfo.firstPage }">首页</li>

               <a href="frequency/frequencyList?pn=${pageInfo.pageNum-1}" aria-label="Previous>&laquo;/*<<*/

                        <c:forEach var="page_Num" items="${pageInfo.navigatepageNums }">   //遍历每一页

                                <c:if test="${page_Num==pageInfo.pageNum }">  //判断是否是当前页

                                        <li class="active"><a href="frequency/frequencyList?pn=${page_Num }">${page_Num }</a></li>

                                </c:if>

                                   <c:if test="${page_Num==pageInfo.pageNum>

                                 <li><a href="frequency/frequencyList?pn=${page_Num }" > ${page_Num } </a></li>

                                    </c:if>

                        <c:forEach>

                <a href="frequency/frequencyList?pn=${pageInfo.pageNum+1}" aria-label="Next">&raquo;/*<<*/            当前页+1

        <li><a href="frequency/frequencyList?pn=${pageInfo.lastPage }">末页</li>

</ul>

大体思路就是这样

相关文章

网友评论

    本文标题:2.关于ssm框架-maven中的PageInfo分页插件运用

    本文链接:https://www.haomeiwen.com/subject/muppdftx.html