Grails分页参数带点的情况下的bug

Grails的分页是靠tag g:pagination来完成的,但是这里有点小bug。

如下场景:

前提首先是仿照springside3.x的起名查询法给grails加了个自动查询,这样95%的情况只需要简单给表单控件起名就ok了。

 

一个form表单,里面有分类category,如果写了

g:select, name="category.id", value="${params['category.id']}"

实际上你在controller里面获得提交的params的时候,是

category.id:1, category:[id:1] 也就是说会被拆开两个。

 

这导致了g:pagination

<g:paginate total="${total}" class="pagination-centered" params="${params}"/>

的params多了一个category的参数,同时下一页的时候查询失败。

 

解决方法是自己拷贝一个Pagination类,改一下。

在 def linkParams = [:] 之前hack一下:

        Map attrsMap = attrs.params
        Iterator _it = attrsMap.iterator()
        while (_it.hasNext()) {
            def entry = _it.next()
            if (entry.value instanceof Map) {
                _it.remove()
            }
        }

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值