`
热带翎羽
  • 浏览: 64754 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

Grails Scaffolding的过程分析

阅读更多
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/)
1
1
分享到:
评论

相关推荐

    Grails自定义scaffolding模板

    同时,Grails的热部署特性使得在开发过程中,改动模板后无需重启服务器,即可实时看到效果。 总之,自定义Grails scaffolding模板是提升开发效率、满足个性化需求的有效手段。通过理解并掌握模板机制,开发者可以...

    grails开发

    这使得Grails在开发过程中能够减少许多重复工作,让开发者更多地关注业务逻辑。 2. **Groovy语言** Groovy是Java平台上的动态编程语言,它的语法简洁且富有表达力,支持函数式编程和元编程。Groovy与Java代码可以...

    Grails权威指南.pdf

    《Grails权威指南》这本书是针对Grails框架的深度解析之作,旨在帮助开发者全面...通过《Grails权威指南》,开发者可以深入理解Grails框架的全貌,掌握从开发环境搭建到项目上线的全过程,提升Web应用开发效率和质量。

    grails-1.3.0.RC2

    10. **Scaffolding**:Grails 的快速原型功能(scaffolding)能自动生成基本的CRUD界面,帮助开发者快速搭建应用的基础结构。 在研究 `grails-1.3.0.RC2` 源代码时,开发者可以深入了解Grails框架的架构,学习如何...

    grails-3.0.5-ga (2/2)

    Grails 是一个基于Groovy语言的开源Web应用框架,它构建于Java平台之上,旨在简化开发过程并提高生产力。在Grails 3.0.5版本中,引入了许多改进和新特性,使得这个版本成为一个重要的里程碑。以下是关于"grails-...

    Grails视频教程1

    Grails视频教程:A screencast that demonstrates Grails' scaffolding feature

    grails脚手架2次优化

    其中,脚手架(Scaffolding)是Grails提供的一种快速开发工具,它能够自动生成基本的CRUD操作,极大地提高了开发效率。然而,尽管脚手架在很多场景下能快速满足需求,但在实际项目中,我们往往需要对其进行二次优化...

    Grails权威指南

    第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示例

    Grails 是一个基于 Groovy 语言的开源Web应用框架,它构建于Java平台之上,利用了Spring、Hibernate和Groovy的强大力量,旨在简化开发过程,提高开发效率。Grails遵循模型-视图-控制器(MVC)架构模式,其设计原则是...

    grails中文文档

    Grails的Scaffolding功能能够自动生成基本的CRUD(创建、读取、更新、删除)界面和控制器,极大地提高了开发效率。只需简单的命令,开发者就能快速创建一个基本的后台管理系统。 5. **Grails插件系统** Grails的...

    Grails入门指南第2版

    Grails遵循Model-View-Controller(MVC)架构模式,致力于简化开发过程,提高开发效率。 **Groovy语言** Groovy是Grails的基础,是一种动态、灵活的Java虚拟机(JVM)语言。它具有简洁的语法,支持闭包和面向切面...

    Groovy&Grails准备,收集的Groovy与Grails的书籍

    在学习Groovy和Grails的过程中,阅读《Grails参考手册》是非常有价值的。手册通常会详细介绍框架的各个组件、API用法、最佳实践以及示例代码,帮助开发者深入理解并熟练掌握这两个技术。通过深入学习,开发者能够...

    grails 1.3.7

    Grails 是一个基于Groovy语言的开源Web应用框架,它构建于Java平台之上,旨在简化开发过程并提高生产力。在Grails 1.3.7版本中,我们能够看到一些关键特性和改进,这些特性对当时及后续的Web开发有着深远的影响。 1...

    Grails Wed开发课程设计

    5. **生成脚手架(Scaffolding)**:Grails的脚手架功能可以自动生成基本的CRUD(Create、Read、Update、Delete)操作界面,大大减少了视图和控制器的编写工作。 6. **数据库配置与迁移**:学生需要学习如何配置...

    grails-docs-2.1.1.zip

    Grails 的设计目标是提高开发者的生产力,通过整合一系列成熟的Java技术,如Spring、Hibernate和其它标准Java框架,使得开发过程更为顺畅。 **一、Grails的基础架构** 1. **Groovy语言**: Grails 构建在Groovy之上...

    一步一步学grails(1)

    为了快速实现CRUD操作,Grails提供了脚手架(Scaffolding)功能。通过运行`generate-all ProductionNo`和`generate-all CooperationUnit`命令,我们可以为这两个领域模型生成控制器和视图,这样就无需手动编写基本的...

    基于grails的货车进城审批

    Grails是一个高效、简洁的Web应用框架,它基于Groovy编程语言,结合了Java平台的优势,提供了MVC(Model-View-Controller)架构模式,使得开发过程更加简便快捷。 本项目的核心目标是简化大货车进城的审批流程,...

Global site tag (gtag.js) - Google Analytics