mybatisplus(MP)分页,前端使用jsp没有pages属性

建议使用MP就不要使用jsp,可以使用类似elementui之类的自带分页插件的前端工具。

如果你和我一样头铁非要用,那么分页的时候你就会发现
在这里插入图片描述JSP中有提示,但是运行的时候一定会报错。
通过查看后台报错原因,看一下Page源代码。

/**
     * 查询数据列表
     */
    private List<T> records = Collections.emptyList();
    /**
     * 总数,当 total 不为 0 时分页插件不会进行 count 查询
     */
    private long total = 0;
    /**
     * 每页显示条数,默认 10
     */
    private long size = 10;
    /**
     * 当前页
     */
    private long current = 1;
    /**
     * <p>
     * SQL 排序 ASC 数组
     * </p>
     */
    private String[] ascs;
    /**
     * <p>
     * SQL 排序 DESC 数组
     * </p>
     */
    private String[] descs;
    /**
     * <p>
     * 自动优化 COUNT SQL
     * </p>
     */
    private boolean optimizeCountSql = true;

上面这些属性是Page中有的,我们可以看到没有pages属性,MP的pages是一个方法

/**
     * <p>
     * 当前分页总页数
     * </p>
     */
    default long getPages() {
        if (getSize() == 0) {
            return 0L;
        }
        long pages = getTotal() / getSize();
        if (getTotal() % getSize() != 0) {
            pages++;
        }
        return pages;
    }

而我们写EL表达式的时候通过“点”的方式相当于调用了这个属性的get方法,但是在Page中没有这个方法,所以自然会报错。

如果你还是想要使用MP来进行分页,你可以创建一个类,继承Page,生成两个属性,一个类型是List的属性和一个存放pages的long属性,此时pages最好不好重名,不然会实现父类中的getPages()方法。

接下来就是给List中存放所有的页数,从1-n,以及在pages属性中存放pages的值。就可以进行遍历了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MyBatis-Plus(简称MP)是一个基于 MyBatis 的轻量级增强工具,其中包含了一些实用的插件,包括分页插件。使用 MyBatis-Plus 的分页插件可以简化分页查询的操作。 首先,你需要引入 MyBatis-Plus 的依赖。你可以在你的项目中的构建文件(如 Maven 的 pom.xml)中添加以下依赖: ```xml <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>最新版本号</version> </dependency> ``` 然后,在你的 Mapper 接口中继承 `BaseMapper<T>` 接口,例如: ```java public interface UserMapper extends BaseMapper<User> { } ``` 接下来,在你的服务层或者控制层中使用分页插件进行分页查询。示例代码如下: ```java @Autowired private UserMapper userMapper; public IPage<User> getUsersByPage(int pageNum, int pageSize) { // 创建分页对象 Page<User> page = new Page<>(pageNum, pageSize); // 调用分页查询方法 IPage<User> userPage = userMapper.selectPage(page, null); // 返回查询结果 return userPage; } ``` 在上述代码中,`pageNum` 表示要查询的页码,`pageSize` 表示每页的记录数。`selectPage` 方法会自动根据传入的分页对象进行分页查询,并返回一个 `IPage` 对象,其中包含分页查询的结果数据。 你可以根据需要在 `selectPage` 方法的第二个参数中传入一个 `Wrapper` 对象,来进行条件查询。例如,可以通过 `eq` 方法添加等值条件,通过 `like` 方法添加模糊查询条件等。 希望以上信息对你有帮助!如果还有其他问题,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值