目录

java关于通用分页参数的传递方式

目录

java关于通用分页参数的传递方式

1.第一种,通过一个基础类,基础类中是所有类共有的属性,把pageSize和pageNum都放在基础类中,其他类全部继承基础类。

如下,QuestionActivitiQueryReq类继承BasePage类

BasePage类就是专门用来放分页参数的,需要分页的类就去继承该类,BasePage类是一个通用类,所以放在common公共模块。

https://i-blog.csdnimg.cn/blog_migrate/b9873906741904c3bc3c132c0432e5cc.png

前端传参时直接这么传即可,后端通过@RequestBody注解去解析

https://i-blog.csdnimg.cn/blog_migrate/c23010e79ccdbbb9900cfd63620c40cf.png

2.第二种,在路径上传参,后端通过request.getParameter()去获取参数

如下:

前端传参,直接在路径上:

https://i-blog.csdnimg.cn/blog_migrate/30c7f4520be34438a22f304060280743.png

后端接收方式:

https://i-blog.csdnimg.cn/blog_migrate/ab44c6efcf5d1f036a6d8aea6bb1c727.png

可以把该接收方式封装成一个通用方法,然后调用这个方法即可。

如果方法上不写HttpServletRequest时怎么办?也有一招,直接旱地拨葱,如下。

RequestAttributes attributes = RequestContextHolder.getRequestAttributes();
ServletRequestAttributes ser=(ServletRequestAttributes) attributes;
HttpServletRequest request = ser.getRequest();
Integer integer = Convert.toInt(request.getParameter("pageNum"));
Integer integer1 = Convert.toInt( request1.getParameter("pageNum"));

上面代码Convert是我用的工具类,不用管,可以直接用String来接收这个参数值,然后再把String转换为int即可。