如要在所有的Controller中使用transport2Map方法
在BootStarp的类如下
import org.codehaus.groovy.grails.commons.GrailsApplication
import org.codehaus.groovy.grails.web.servlet.GrailsApplicationAttributes
import org.springframework.context.ApplicationContext
class BootStrap {
def init = { servletContext ->
ApplicationContext applicationContext = servletContext.getAttribute(GrailsApplicationAttributes.APPLICATION_CONTEXT)
GrailsApplication application = (GrailsApplication) applicationContext.getBean("grailsApplication")
addDynamicMethods(applicationContext, application)
}
def destroy = {
}
def addDynamicMethods = { ApplicationContext applicationContext, GrailsApplication application ->
addDynamicControllerMethods(applicationContext, application)
}
def addDynamicControllerMethods = { ApplicationContext applicationContext, GrailsApplication application ->
application.controllerClasses.each { controllerClass ->
controllerClass.metaClass."transport2Map" = { obj -> //将页面中数组对像转成Map
Map split = obj?.inject([:]) { map, param -> //页面参数的格式如:user.1-name
List list = param.key.split('-')
if (list.size() != 2) { // only allow for 1 '-' in a param
return map
}
String firstKey = list.first()
String lastKey = list.last()
if (!map.get(firstKey)) {
map."$firstKey" = [:] // init map for this key
}
map."$firstKey"."$lastKey" = param.value
return map
}
}
}
}
}
分享到:
相关推荐
过滤器是 Grails 中的一种特殊类型的方法,它们可以附加到特定的控制器或全局范围内,会在控制器动作执行前后自动调用。过滤器提供了统一的入口点,可以在不修改每个控制器动作代码的情况下,实现对请求处理流程的...
### Groovy和Grails配置方法 #### 一、Groovy与Grails简介 Groovy是一种强大的面向对象编程语言,它运行在Java平台上,并且能够直接与Java代码进行交互。Groovy支持函数式编程特性,拥有丰富的语法糖以及简洁的...
总结来说,Grails 是一个强大的Web开发框架,借助Groovy的灵活性和Java生态的稳定性,为开发者提供了高效的开发环境。无论是初学者还是经验丰富的开发者,都能从Grails的简洁设计和强大功能中受益。通过深入学习...
它详细介绍了Grails框架的所有类、方法和属性,以及它们的用途和用法。通过中文API,开发者可以更轻松地理解框架的工作原理,查找和解决问题,避免因语言障碍而产生的误解。 **4. 学习路径和资源** 要入门Grails,...
`grails test-app`命令即可运行所有相关的测试。 9. **国际化与本地化**:Grails内置了i18n支持,允许开发者轻松处理多语言环境,提高应用的全球适用性。 10. **持续集成与部署**:Grails与常见的CI/CD工具如...
- 将Grails命令配置为Eclipse的外部工具,方便直接在IDE中执行Grails命令。在`Run > External Tools > External Tools Configurations...`中创建新的程序配置,详细步骤可参考Eclipse界面的指导。 完成以上步骤后...
Grails提供了一套强大的命令行工具,用于快速创建项目、生成控制器、领域类、服务等。例如,`grails create-app` 创建新应用,`generate-controller` 生成控制器,`generate-domain-class` 生成领域类。 四、GORM...
"Grails 中文参考手册" 是一套详细的 Grails 学习资料,涵盖了框架的所有核心组件、最佳实践和使用方法,帮助开发者快速掌握 Grails 开发技能。 总之,Grails 是一个强大而灵活的 Web 开发框架,结合 Groovy 的优点...
- **实战技巧**:包括 GORM (Groovy Object Relational Mapping) 的使用、如何在 Grails 中实现 Ajax 功能、处理遗留数据库的方法、利用遗留框架以及如何在 Grails 中使用 WebFlow。 - **高效编程系列**:涵盖使用 ...
5. **开发与调试**:在Eclipse中,你可以直接编辑Grails的源代码,使用内置的Groovy编辑器进行语法高亮和代码提示。通过右键点击项目,选择"Run As" -> "Grails Command"可以运行Grails的命令,例如"run-app"来启动...
确保在安装过程中选择所有必要的组件,包括Groovy编译器和Grails支持。 安装完成后,需要配置Groovy和Grails的环境。在Eclipse中,进入"Window" > "Preferences" > "Groovy",在这里设置Groovy SDK。你需要下载...
- **遗留数据处理**:在已有数据表基础上进行Grails应用开发的方法。 - **ORM问题解决**:针对对象关系映射中遇到的问题提出解决方案。 - **Grails版本升级**:指导如何从旧版本平稳过渡到新版本。 #### 四、...
《Grails 2 的终极指南》是一本深入探讨Grails框架精髓的专业书籍,该书以英文撰写,旨在为读者提供全面、深入的Grails框架学习资料。Grails框架基于Groovy语言,是一种高度动态、敏捷的Java应用开发框架,它简化了...
Grails的URL映射系统使得可以灵活地将请求映射到控制器、视图和操作。而WebFlow则提供了一种高级的Web导航流程。 验证是Web开发中不可或缺的一部分,Grails通过声明约束和验证约束来实现。它支持客户端验证,使得...
在Grails中,Ajax不仅可以与控制器进行通信,获取或发送数据,还可以与服务层、领域模型等进行交互,实现复杂业务逻辑。Grails的响应式Controller特性使得返回Ajax响应变得更加简单,可以直接返回JSON或XML格式的...
3. **领域驱动设计(Domain-Driven Design, DDD)**:Grails的域类直接映射到数据库表,文档会解释如何定义领域类、关联关系,以及Lifecycle方法,如`beforeInsert`、`beforeUpdate`等。 4. **服务层**:Grails的...
Grails 2.4.4 是一个基于Java的开源Web应用框架,它利用Groovy语言的强大特性,为开发者提供了一种高效、灵活的开发环境。这个压缩包“grails-2.4.4.zip”包含了完整的Grails 2.4.4版本,使得开发者可以直接将其集成...