分页组件详解

在若依框架中都自带分页组件方法startPage(),
进入源码可以看到

 

    /**
     * 设置请求分页数据
     */
    public static void startPage()
    {
        PageDomain pageDomain = TableSupport.buildPageRequest();
        Integer pageNum = pageDomain.getPageNum();
        Integer pageSize = pageDomain.getPageSize();
        String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy());
        Boolean reasonable = pageDomain.getReasonable();
        PageHelper.startPage(pageNum, pageSize, orderBy).setReasonable(reasonable);
    }

方法TableSupport.buildPageRequest();获取请求头中的pageNum和pageSize
源码如下:

    public static PageDomain getPageDomain()
    {
        PageDomain pageDomain = new PageDomain();
        pageDomain.setPageNum(Convert.toInt(ServletUtils.getParameter(PAGE_NUM), 1));
        pageDomain.setPageSize(Convert.toInt(ServletUtils.getParameter(PAGE_SIZE), 10));
        pageDomain.setOrderByColumn(ServletUtils.getParameter(ORDER_BY_COLUMN));
        pageDomain.setIsAsc(ServletUtils.getParameter(IS_ASC));
        pageDomain.setReasonable(ServletUtils.getParameterToBool(REASONABLE));
        return pageDomain;
    }

方法 pageDomain.setPageNum(Convert.toInt(ServletUtils.getParameter(PAGE_NUM), 1));
首先是set方法,后面的Convert.tolnt是判断能否获取到常量PAGE_NUM=pageNum的值则给默认值1,获取到值赋值获取到的值

是从请求头中获取参数。(获取表单中的参数)一定是请求头(中要的事情说两遍)所以在使用默认方法时必须是get请求。或者是post请求分页参数必须在请求头中
 

    public static String getParameter(String name)
    {
        return getRequest().getParameter(name);
    }
    return getRequest().getParameter(name);

getParameter(String name)获取客户端提交的数据,参数name就是客户端在form表单中书写name属性的值,如果不一致,则取不到对应的值


扩展:

getParameterName() 获取客户端提交的 数据中所有的key值(form表单中提交的所有的name属性的值)
 

getParameterValues(String name) 获取form表单中用户提交的某个name属性对应的多个value属性的值

 

request属于域对象,所以可以使用域对象方法

域对象其实就是一个类似于map的容器,可以向容器中存入指定的值,在需要的时候,可以通过key去获取对应的值来使用
 

setAttribute(String name,Object  o)         向一个request域中存放一个映射关系,name留着取值时使用的
 

getAttribute(String name)        通过映射关系的key,获取对应的值。
 

removeAttribute(String name)        通过映射关系的key,移除这一关系
 

setCharacterEncoding(String env)         设置客户端提交数据解码时使用的编码表,只对post请求有效
 

getRequestDispatcher(String path)        获取转发器对象,调用forward()方法用于转发请求
 

getMethod()        获取客户端提交数据的方式 get 或post 方式

 自定方法:模仿方法 PageHelper.startPage(pageNum,pageSize,orderBy).setReasonable(reasonable);在传参的顶级父类中定义分页参数进行手动传入即可

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值