您的位置:首页 > 其它

ssm 实现分页效果 PageHelper插件

2019-04-12 10:52 281 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/qq_40791070/article/details/89227891

ssm 实现分页效果 PageHelper插件

  • 控制层 control
  • 补充 jsp 页面上下分页按钮

  • 本文地址 :https://blog.csdn.net/qq_40791070/article/details/89227891

    项目配置

    maven 依赖

    <dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>5.1.2</version>
    </dependency>

    第一种配置方法 spring-dao.xml

    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <!-- 配置XML映射文件的位置 -->
    <property name="mapperLocations"
    value="classpath:mappers/*.xml" />
    <!-- 配置数据源 -->
    <property name="dataSource"
    ref="dataSource" />
    <!-- 分页插件配置 -->
    <property name="plugins">
    <array>
    <bean class="com.github.pagehelper.PageInterceptor">
    <property name="properties">
    <value>
    helperDialect=mysql
    reasonable=true
    </value>
    </property>
    </bean>
    </array>
    </property>
    </bean>

    第二种配置方法 mybatis-comfig.xml

    <plugins>
    <plugin interceptor="com.github.pagehelper.PageHelper">
    <property value="mysql" name="dialect"/>
    <property value="false" name="offsetAsPageNum"/>
    <property value="false" name="rowBoundsWithCount"/>
    <property value="true" name="pageSizeZero"/>
    <property value="false" name="reasonable"/>
    <property value="false" name="supportMethodsArguments"/>
    <property value="none" name="returnPageInfo"/>
    </plugin>
    </plugins>
    两种方法按照你配的ssm框架进行采用,不同的配置方法,基本上以上两种方法的分页插件都可以适用

    控制层 control

    Page<Client> page = PageHelper.startPage(cpage, 6);
    List<Client> list=sysanalysisServiceimpl.GetSumOfQuarter();
    listofQuarter = new PageInfo<Client>(list);

    1.但调用ModelAndView(视图)时 ,cpage=1;Client 为对象
    2. 当后台传参,跳转到第几页时时;

    Integer cpage=Integer.parseInt(request.getParameter("cpage"));

    补充 jsp 页面上下分页按钮

    <div class="itab">
    <ul>
    <li><a href="#">总页数:<b id="pages" value="">${pageInfo.pages }</b>页
    </a></li>
    <li><a href="#">总记录:<b id="total" value="">${pageInfo.total }</b>条
    </a></li>
    <li style="width: 120px;"><a href="#">位置:&nbsp;<b
    id="span1" value="">${pageInfo.pageNum }</b>/<b id="span2"
    value="">${pageInfo.pages}</b>页
    </a></li>
    <li style="width: 80px;"></li>
    <li><input type="button" "Jump(0)" value="首页"
    style="width: 50px; height: 35px;" /></li>
    <li style="width: 40px;"></li>
    <li><input type="button" "Jump(1)" value="上一页"
    style="width: 50px; height: 35px;" /></li>
    <li style="width: 40px;"></li>
    <li><input type="button" "Jump(2)" value="下一页"
    style="width: 50px; height: 35px;" /></li>
    <li style="width: 40px;"></li>
    <li><input type="button" "Jump(3)" value="末页"
    style="width: 50px; height: 35px;" /></li>
    <li style="width: 80px; background-color: white;"></li>
    <li><input type="text" name="choice" id="choice" value=""
    style="width: 60px; height: 32px; border-color: gold;" /> <input
    type="button" "Jump(4)" value="跳转"
    style="width: 50px; height: 35px;" /></li>
    </ul>
    </div>

    js获取页数

    var pageNum = $("#span1").html();
    var pages = $("#pages").html();
    pageNum=PageOfResult(id,pages,choice,pageNum);

    封装js方法

    1.可多次直接调用;

    pageNum=PageOfResult(id,pages,choice,pageNum);

    2. id 为0 ,1,2,3, 4 分别表示跳转到首页,上一页,下一页,尾页 ,指定页数

    function PageOfResult(id,pages,choice,pageNum){
    pageNum=parseInt(pageNum);
    pages=parseInt(pages);
    switch (id){
    case 0:
    if(pageNum!=1) {
    pageNum = 1;
    }else{
    alert("已是首页!");
    return false;
    }
    break;
    case 1:
    if(pageNum>1){
    pageNum=parseInt(pageNum)-1;
    }
    else {
    alert("已是首页!");
    return false;
    }
    break;
    case 2:
    if(pageNum<pages){
    pageNum=parseInt(pageNum)+1;
    }
    else {
    alert("已是尾页!");
    return false;
    }
    break;
    case 3:
    if(pageNum!=pages){
    pageNum=pages;
    }
    else {
    alert("已是尾页!");
    return false;
    }
    break;
    case 4:
    if(choice !=""){
    if(choice>=1 && parseInt(choice)<=parseInt(pages)){
    if( pageNum==choice){
    return false;
    }
    pageNum=choice;
    }
    else{
    alert("该页数不存在!");
    return false;
    }
    }else {
    return false;
    }
    break;
    }
    return pageNum;
    }
    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: