品优购分页显示品牌

效果图

品牌列表分页的实现

3.1需求分析

在品牌管理下方放置分页栏,实现分页功能

3.2后端代码

3.2.1 分页结果封装实体

在pinyougou-pojo工程中创建entity包,用于存放通用实体类,创建类PageResult

package com.pinyougou.entity;

import java.io.Serializable;
import java.util.List;

/**
 * @Auther: jun
 * @Date: 2018/8/19 0019 14:43
 * @Description: 分页结果封装类
 */
public class PageResult implements Serializable {

    //总记录数
    private long total;
    //当前页记录数
    private List<?> rows;

    public PageResult(long total, List<?> rows) {
        this.total = total;
        this.rows = rows;
    }
    //set和get方法

3.2.2 服务接口层

在pinyougou-sellergoods-interface的BrandService.java 增加方法定义

/**
 * 品牌分页
 * @auther: jun
 * @date: 2018/8/19 0019 14:48
 * @param pageNum 当前页码
 * @param pageSize 每页记录数
 * @return:
 */
public PageResult findPage(int pageNum,int pageSize);

3.2.3 服务实现层

在pinyougou-sellergoods-service的BrandServiceImpl.java中实现该方法

@Override
public PageResult findPage(int pageNum, int pageSize) {
    //设置分页插件的分页记录查询条件
    PageHelper.startPage (pageNum,pageSize);
    //查询记录数
    Page<TbBrand> pages = (Page<TbBrand>) brandMapper.selectByExample (null);
    return new PageResult (pages.getTotal (),pages.getResult ());
} 

PageHelper为MyBatis分页插件

3.2.4 控制层

在pinyougou-manager-web工程的BrandController.java新增方法

/**
 * 分页显示品牌信息
 * @auther: jun
 * @date: 2018/8/19 0019 15:57
 * @param page 页码
 * @param size 记录数
 * @return: com.pinyougou.entity.PageResult
 */
@RequestMapping("/findPage")
public PageResult findPage(int page,int size){
    //调用服务层执行查询所有品牌操作
    return brandService.findPage (page,size);
}

3.3前端代码

3.3.1 HTML

在brand.html引入分页组件

<!-- 分页组件开始 -->
<script src="../plugins/angularjs/pagination.js"></script>
<link rel="stylesheet" href="../plugins/angularjs/pagination.css">

这个分页插件是必须在angularjs下面插入

页面的表格下放置分页组件

   <!--数据列表/-->                        
<!-- 分页 -->
<tm-pagination conf="paginationConf"></tm-pagination>

3.3.2 JS代码

在brandController中添加如下代码

var app=angular.module('pinyougou',['pagination']);//定义了一个叫pinyougou的模块
 //分页控件配置
         $scope.paginationConf = {
             currentPage: 1,//当前页码
             totalItems: 10,//总记录数
             itemsPerPage: 10,//每页记录数
             perPageOptions: [10, 20, 30, 40, 50],//分页选项
             onChange: function(){//当页码变更自动触发事件
                 $scope.reloadList();//刷新
             }
         };
   //刷新列表
   $scope.reloadList=function(){
       //分页的条件
             $scope.findPage($scope.paginationConf.currentPage,$scope.paginationConf.itemsPerPage);
}
   //分页显示方法
   $scope.findPage=function (page,size) {
   $http.get('../brand/findPage.do?page='+ page +'&size='+ size).success(function (response) {
      $scope.list=response.rows;//显示当前页的记录数据
      $scope.paginationConf.totalItems=response.total;//修改总记录数
             });
         }

在页面的body元素上去掉ng-init指令的调用

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值