`
热带翎羽
  • 浏览: 63174 次
  • 性别: 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-3.0.5-ga (2/2)

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

    grails-1.3.0.RC2

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

    Getting Started with Grails Second Edition

    First-time developers are amazed at how quickly you can get a page-centric MVC web site up and running thanks to the scaffolding and convention over configuration that Grails provides. Advanced web ...

    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-docs-2.1.1.zip

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

    Grails: A Quick-Start Guide

    We’ll dig into Grails’ powerful view technology, Groovy Server Pages, and see how we can easily leverage the help given to us by scaffolding to create custom user interfaces faster than you would ...

    一步一步学grails(1)

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

    基于grails的货车进城审批

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

    grails-1.3.7

    4. **Scaffolding**:Grails的自动脚手架功能可以根据领域模型快速生成基本的CRUD(创建、读取、更新、删除)操作,极大地减少了初始开发时间。 5. **Command Line Tools**:Grails命令行工具提供了丰富的命令,如`...

    Grails入门指南

    **Grails入门指南** Grails是一种基于Groovy语言的开源Web应用框架,它极大地简化了Java平台上的开发工作。Grails的设计理念是“代码胜于...在实践过程中,不断探索Grails的高级特性和插件,将进一步提升开发能力。

Global site tag (gtag.js) - Google Analytics