`
flashing
  • 浏览: 354658 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

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()
            }
        }

 

 

1
4
分享到:
评论
2 楼 flashing 2014-01-22  
ansjsun 写道
这个东西还活着呢阿?

活得还挺好,spring source把grails打包收购了,现在是spring的一员了,连开发工具都给配套上了,ggts。
话说这玩意是java程序员提升生产力的不二之选啊。
1 楼 ansjsun 2014-01-22  
这个东西还活着呢阿?

相关推荐

    grails实现分页技术

    2. **定义分页参数**:接着,你需要考虑分页的参数,如每页显示的记录数(`pageSize`)和当前页数(`currentPage`)。这些参数可以通过URL参数或者请求参数传递,例如`params.page`和`params.max`。 3. **分页查询*...

    Eclipse下搭建Grails项目

    【Grails项目搭建详解】 Grails是一个基于Groovy语言的开源Web应用框架,它简化了开发过程,尤其适合快速构建动态网站。在Eclipse中搭建Grails项目可能相对复杂,但通过以下步骤,即使是初学者也能顺利进行。 1. *...

    Grails Grails Grails

    **Grails 框架详解** Grails 是一个基于 Groovy 语言的开源Web应用程序框架,它构建在Java平台之上,旨在简化开发过程并提高生产力。Grails 的设计深受Ruby on Rails的影响,提供了MVC(模型-视图-控制器)架构模式...

    Grails权威指南 Grails权威指南

    《Grails权威指南》是一本全面深入探讨Grails框架的专著,旨在帮助读者掌握这一强大的Web开发工具。Grails是一种基于Groovy语言的开源框架,它为构建现代、高效的应用程序提供了简洁高效的解决方案。本指南针对不同...

    一步一步学grails(5)

    《逐步学习Grails框架(5):构建动态组合查询与分页功能》 在Grails开发过程中,构建动态组合查询和实现分页展示是常见的需求。本篇教程将介绍如何在Grails应用中创建一个根据产品编号进行组合查询,并以分页形式展示...

    grails 中文文档+grails-fckeditor-0.9.5.zip插件

    3. Convention over Configuration(CoC):Grails的核心理念之一就是“约定优于配置”,这意味着开发者在很多情况下不需要写大量的配置文件,框架会自动根据约定进行工作。 二、Grails中文文档的价值 1. 学习入口...

    grails-用户手册

    《Grails用户手册》 Grails,作为一个基于Groovy语言的开源Web应用框架,深受开发者喜爱,它简化了Java开发的复杂性,提供了强大的MVC(Model-View-Controller)架构,以及丰富的插件系统。这份用户手册将帮助你...

    grails ajax

    级联下拉框通常在需要关联选择的情况下使用,比如国家/地区-城市的选择,当用户选择了一个国家,下拉框会自动更新只显示该国的城市。这通常涉及到Ajax请求,用来动态加载并填充城市列表,而不会刷新整个页面。 综上...

    eclipse开发grails插件

    本篇将详细讲解如何使用Eclipse开发Grails插件,以及涉及的相关知识点。 首先,让我们了解**Eclipse**。Eclipse不仅是一个IDE,它还拥有一个庞大的插件生态系统,支持多种编程语言和开发工具。对于Grails开发,我们...

    学习grails框架时候自己写的例子

    描述中提到了"自己分页,修改sql查询,带数据库",这表明这个例子涵盖了以下几个关键知识点: 1. **Grails ORM (对象关系映射) - GORM**:GORM是Grails内置的数据访问层,它允许开发者使用Groovy语法来操作数据库。...

    eclipse插件grails(groovy)

    下面我们将详细介绍如何配置Eclipse插件Grails以及Groovy的相关知识点。 首先,安装Groovy和Grails插件是至关重要的。你可以通过Eclipse的内置Marketplace来查找并安装Groovy和Grails Development Tools (GDT)。...

    转: Eclipse下Grails开发环境搭建步骤

    - 在"src/groovy"目录下编写业务逻辑,"grails-app/controllers"中编写控制器。 4. 运行和调试: - 右键点击项目,选择"Run As" -&gt; "Grails Command",选择相应的Grails命令,如"run-app"来启动项目。 - 要调试...

    Grails入门指南 -- 针对grails1.0.4更新

    ### Grails入门指南知识点 #### 一、Grails框架简介 - **背景**: Grails是一个基于Groovy语言的开源Web应用框架,适用于Java平台。它旨在简化开发过程,提高开发效率,尤其受到那些希望保留Java环境同时寻求更高效...

    grails-core源码

    1. **Command Line Interface (CLI)**:Grails的命令行接口是开发者与框架交互的主要方式,`Main`类是入口点,负责解析命令行参数并调用相应的命令处理器。 2. **Bootstrap**:在Grails应用启动时,`Bootstrap`类...

    grails学习

    【Grails 学习知识点详解】 Grails 是一个基于 Groovy 语言的开源 Web 应用框架,它简化了开发过程并提供了丰富的功能。本文将深入探讨 Grails 中的一些常见问题及其解决方案,帮助你更好地理解和掌握 Grails 开发...

    grails快速开发web

    - **Hibernate 配置**:应放置在 `grails-app/conf/hibernate` 目录下。 - **修改 web.xml**:首先需要运行命令 `grails install-templates`,然后可以在 `src/templates/war/web.xml` 文件中进行修改。 #### 四、...

    grails login

    这将在指定目录下生成一个完整的Grails项目结构。 **3. 数据库配置** Grails默认使用H2内存数据库,如需使用MySQL,需修改`Config.groovy`中的数据库配置。添加如下代码: ```groovy dataSource { pooled = true ...

Global site tag (gtag.js) - Google Analytics