1) "grails generate-all/generate-views"脚本实例化DefaultGrailsTemplateGenerator
2)DefaultGrailsTemplateGenerator会创建类DefaultGrailsDomainClass的实例"domainClass",这个domainClass将允许脚本得到domain class的所有信息,如:属性、GORM的映射关系、关系和约束等,如:
props = domainClass.properties.findAll { !excludedProps.contains(it.name) }
3) 针对所有属性(props)进行循环
// 将约束保存到cp
cp = domainClass.constrainedProperties[p.name]
// 根据p的类型调用相应的renderEditor (保存在: renderEditor.template)
${renderEditor(p)}
//在renderEditor.template中,将根据类型做不同的render
Switch(type)
{
Case: Enum
renderEnumEditor(domainClass, property)
Case: String
renderStringEditor(domainClass, property)
Case: Date
renderDateEditor(domainClass, property)
…
}
总结:通过执行grails install-templates,可以获得scaffold进行CRUD渲染的模板,这是一个最直接剖析内部机理的方式。
参考:
Grails Scaffolding in Depth by Jakob Külzer (http://www.jakusys.de/blog/2008/12/grails-scaffolding-in-depth/)
分享到:
相关推荐
同时,Grails的热部署特性使得在开发过程中,改动模板后无需重启服务器,即可实时看到效果。 总之,自定义Grails scaffolding模板是提升开发效率、满足个性化需求的有效手段。通过理解并掌握模板机制,开发者可以...
这使得Grails在开发过程中能够减少许多重复工作,让开发者更多地关注业务逻辑。 2. **Groovy语言** Groovy是Java平台上的动态编程语言,它的语法简洁且富有表达力,支持函数式编程和元编程。Groovy与Java代码可以...
《Grails权威指南》这本书是针对Grails框架的深度解析之作,旨在帮助开发者全面...通过《Grails权威指南》,开发者可以深入理解Grails框架的全貌,掌握从开发环境搭建到项目上线的全过程,提升Web应用开发效率和质量。
10. **Scaffolding**:Grails 的快速原型功能(scaffolding)能自动生成基本的CRUD界面,帮助开发者快速搭建应用的基础结构。 在研究 `grails-1.3.0.RC2` 源代码时,开发者可以深入了解Grails框架的架构,学习如何...
Grails 是一个基于Groovy语言的开源Web应用框架,它构建于Java平台之上,旨在简化开发过程并提高生产力。在Grails 3.0.5版本中,引入了许多改进和新特性,使得这个版本成为一个重要的里程碑。以下是关于"grails-...
Grails视频教程:A screencast that demonstrates Grails' scaffolding feature
其中,脚手架(Scaffolding)是Grails提供的一种快速开发工具,它能够自动生成基本的CRUD操作,极大地提高了开发效率。然而,尽管脚手架在很多场景下能快速满足需求,但在实际项目中,我们往往需要对其进行二次优化...
第5章 脚手架(scaffolding) 5.1 动态脚手架 5.1.1 创建操作(create) 5.1.2 读取操作(read) 5.1.3 更新操作(update) 5.1.4 删除操作(delete) 5.1.5 重写(overriding)crud...
Grails 是一个基于 Groovy 语言的开源Web应用框架,它构建于Java平台之上,利用了Spring、Hibernate和Groovy的强大力量,旨在简化开发过程,提高开发效率。Grails遵循模型-视图-控制器(MVC)架构模式,其设计原则是...
Grails的Scaffolding功能能够自动生成基本的CRUD(创建、读取、更新、删除)界面和控制器,极大地提高了开发效率。只需简单的命令,开发者就能快速创建一个基本的后台管理系统。 5. **Grails插件系统** Grails的...
Grails遵循Model-View-Controller(MVC)架构模式,致力于简化开发过程,提高开发效率。 **Groovy语言** Groovy是Grails的基础,是一种动态、灵活的Java虚拟机(JVM)语言。它具有简洁的语法,支持闭包和面向切面...
在学习Groovy和Grails的过程中,阅读《Grails参考手册》是非常有价值的。手册通常会详细介绍框架的各个组件、API用法、最佳实践以及示例代码,帮助开发者深入理解并熟练掌握这两个技术。通过深入学习,开发者能够...
Grails 是一个基于Groovy语言的开源Web应用框架,它构建于Java平台之上,旨在简化开发过程并提高生产力。在Grails 1.3.7版本中,我们能够看到一些关键特性和改进,这些特性对当时及后续的Web开发有着深远的影响。 1...
5. **生成脚手架(Scaffolding)**:Grails的脚手架功能可以自动生成基本的CRUD(Create、Read、Update、Delete)操作界面,大大减少了视图和控制器的编写工作。 6. **数据库配置与迁移**:学生需要学习如何配置...
Grails 的设计目标是提高开发者的生产力,通过整合一系列成熟的Java技术,如Spring、Hibernate和其它标准Java框架,使得开发过程更为顺畅。 **一、Grails的基础架构** 1. **Groovy语言**: Grails 构建在Groovy之上...
为了快速实现CRUD操作,Grails提供了脚手架(Scaffolding)功能。通过运行`generate-all ProductionNo`和`generate-all CooperationUnit`命令,我们可以为这两个领域模型生成控制器和视图,这样就无需手动编写基本的...
Grails是一个高效、简洁的Web应用框架,它基于Groovy编程语言,结合了Java平台的优势,提供了MVC(Model-View-Controller)架构模式,使得开发过程更加简便快捷。 本项目的核心目标是简化大货车进城的审批流程,...