m0_49359842
星点灯丶
2021-01-18 22:09

pagehelper时发生一个奇怪的事情

  • java

今天在使用ssm中分页插件pagehelper时发生一个奇怪的事情


```java
 <!--pagehelper-->
    <pagehelper.version>5.1.2</pagehelper.version>

    <!--pagehelper-->
    <dependency>
      <groupId>com.github.pagehelper</groupId>
      <artifactId>pagehelper</artifactId>
      <version>${pagehelper.version}</version>
    </dependency>
```
同样的代码,都是用aop实现的

```java
    public Object invoke(ProceedingJoinPoint args) throws Throwable{

        Object[] params = args.getArgs();
        //分页对象
        PageBean pageBean=null;
        for (Object param : params) {
            if(param instanceof PageBean){
                pageBean= (PageBean) param;
                break;
            }
        }
        //设置分页参数
        if(null!=pageBean&&pageBean.isPagination()){
            PageHelper.startPage(pageBean.getPage(),pageBean.getRows());
        }
        //执行方法,得到返回结果
        Object result = args.proceed(params);
        System.out.println(result);
        JsonResponseBody data= (JsonResponseBody) result;
        if(null!=pageBean&&pageBean.isPagination()){
            if(null==data.getData())
                return new JsonResponseBody<>(ResponseStatus.STATUS_602);
            List lst= (List) data.getData();
            PageInfo pi=new PageInfo(lst);
            pageBean.setTotal(pi.getTotal()+"");
            return new JsonResponseBody<>(lst,pageBean.getTotal());
        }
        return new JsonResponseBody<>(data.getData());
    }
```
但是有一个方法在切入AOP之后总是报错,如下:
```java
org.springframework.web.util.NestedServletException
```
百度了一下,说是jar包冲突,于是把jar包改成 5.1.0,果然问题解决了,
但是之后我改回5.1.2,结果也不报错了,
原因不明

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

1条回答