grails的Domain Class/*.gsp(或者*.jsp)/Controller是一个典型的MVC框架。
可能gsp让一些人感到陌生,在我看来可以把gsp看做一个模板,类似于velocity或者freemarker之类的东西。所有的标签其实是一个特定渲染动作。毫无疑问,目前他并没有多少可选的输出,他运用的是spring的MVC结构,当然可能不如webwork来得强大。
模板的include功能还是比较强的,可以使用类似于“<g:render template="/modulename/abc" />”之类的语句来进行include,当然,在/view/modulename下面必须有"_abc.gsp"这样的文件存在。 而且可以给这个render提供数据 <g:render template="/modulename/abc" collection="${books}" />或者bean="${book}" 等,说到底,他还是一个修饰数据的模板。可以使用这个功能来包含我们的top,bottom,left等。
在controller中,比较重要的功能是Action Interceptors(Action拦截器),这也是rails的重要功能。譬如这样一段action代码:
def beforeInterceptor = [action:this.&auth,except:'login']
// defined as a regular method so its private
def auth() {
if(!session.user) {
redirect(action:'login')
return false
}
}
def login = {
// display login page
}
注意这段语句:def beforeInterceptor = [action:this.&auth,except:'login']
就是一个典型的login拦截器,这样在调用其他action之前,会调用auth这个action闭包,如果返回false,那么action将不会被执行。从而重定向到login这个action。同样我们的拦截器可以指定except,这个属性实际上是指定拦截的范围,这里是排除拦截login这个action,否则将会使用户无法登陆。
其他的功能也都很有用,不过比较简单,详细的可以看http://docs.codehaus.org/display/GRAILS/Controllers,有request数据绑定,fileupload,action chain,domain object dynamic method等。grails也提供中文首页,地址是http://docs.codehaus.org/display/GRAILS/Chinese-Home,不过很多东西都还没有中文文档,只能我们自己去看英文文档。
关于MVC中的Model(Domain class)可以参考GORM,这个东西地层是Hibernate的,非常的简单实用,被Hiberante搞昏了的同志可以看看这个,GORM中只提供1:1,1:m这两种数据关联,可以单向也可以双向,非常的简单,个人认为n:m这种数据关联应该避免使用,这种数据关联结构将会使应用变得低效和复杂,如果需要多对多的关联,那么可以自己写java的类和hbm文件。
分享到:
相关推荐
`grails test-app`命令即可运行所有相关的测试。 9. **国际化与本地化**:Grails内置了i18n支持,允许开发者轻松处理多语言环境,提高应用的全球适用性。 10. **持续集成与部署**:Grails与常见的CI/CD工具如...
3. **插件系统**:Grails 插件是一组可重用的功能模块,可以快速增强应用程序的功能,如Spring Security、Asset Pipeline等。 4. **命令行工具**:Grails 提供强大的命令行工具,支持创建项目、运行应用、生成代码...
Grails,作为一个基于Groovy语言的开源Web应用框架,深受开发者喜爱,它简化了Java开发的复杂性,提供了强大的MVC(Model-View-Controller)架构,以及丰富的插件系统。这份用户手册将帮助你深入理解和高效使用...
2. **环境设置**:如何安装和配置开发环境,包括Groovy、Grails以及相关的IDE(如IntelliJ IDEA或Eclipse)集成。 3. **第一个Grails应用**:通过创建一个简单的“Hello, World!”应用,体验Grails的快速开发流程,...
本篇将详细讲解如何使用Eclipse开发Grails插件,以及涉及的相关知识点。 首先,让我们了解**Eclipse**。Eclipse不仅是一个IDE,它还拥有一个庞大的插件生态系统,支持多种编程语言和开发工具。对于Grails开发,我们...
Grails 插件系统是其强大功能之一,允许开发者复用和扩展已有功能。例如,有用于认证、缓存、邮件发送等的插件,可以快速集成到项目中。 **Grails Command Line Interface (CLI)** Grails 提供了一个强大的命令行...
安全是一个复杂的话题,Grails通过各种插件来提供安全相关功能,例如Acegi和JSecurity。这些插件提供了预防攻击、字符串编码解码、身份验证等安全机制。 最后,Grails社区还提供了丰富的插件库,这些插件可以扩展...
Grails框架提供了丰富的插件系统,可以快速扩展功能。例如,如果你需要集成数据库,可以使用ORM框架GORM(Grails Object Relational Mapping),它自动处理数据持久化。只需在配置文件中定义领域类,GORM就会自动...
2. MVC架构:Grails遵循Model-View-Controller(MVC)设计模式,通过GORM(Grails Object Relational Mapping)进行数据访问,使用GSP(Groovy Server Pages)作为视图模板,Controller负责业务逻辑处理。...
在Grails中,控制器遵循MVC(Model-View-Controller)设计模式,实现了业务逻辑与用户界面的分离,提高了代码的可维护性和可测试性。 #### Views(视图) 视图(Views)是用户与应用程序交互的界面,Grails提供了...
Grails是基于Groovy语言的开源Web应用框架,它融合了Model-View-Controller(MVC)架构模式,提供了丰富的插件系统和自动化工具,使得开发过程更为高效。Grails的设计理念是“代码胜于配置”,强调通过约定优于配置...
Grails 是一个遵循MVC(模型-视图-控制器)架构模式的全栈框架,它旨在简化开发流程,提高开发效率。Grails 借鉴了Ruby on Rails的设计理念,引入了GORM(Grails Object Relational Mapping)用于数据库操作,以及...
`PluginManager`负责管理插件,通过`PluginMetaClass`动态扩展Grails应用的功能。每个插件都有自己的生命周期方法,可以在特定的生命周期阶段执行自定义操作。 四、依赖注入(Dependency Injection) Grails采用...
Grails,一个基于Groovy动态语言的开源MVC框架,为Web开发提供了高效且简洁的解决方案。自2007年发布以来,Grails以其快速开发能力,降低了Web应用的复杂性,吸引了众多开发者。本文将引导读者深入理解Grails的基本...
通过阅读《Grails入门指南中文第二版》,你将能够熟练地搭建Grails开发环境,创建并运行第一个Grails应用,掌握MVC模式下的开发流程,以及利用Grails的强大功能进行高效开发。这本书对于想要进入Grails世界的开发者...
Grails的GORM(Grails Object Relational Mapping)是Hibernate的一个封装,使得ORM操作更为简便,支持动态查询和 Criteria 查询等高级功能。 ### Grails插件系统 Grails拥有一个丰富的插件生态系统,允许开发者...
通过深入理解Grails的核心概念和技术细节,开发者能够快速构建出功能完备、性能优良的Web应用。随着实践的积累,进一步探索Grails的高级特性,如插件开发、安全性增强、性能优化等,将成为提升Web开发水平的关键。
**Grails 框架详解:实现基础的CRUD功能** Grails,作为一个基于Groovy语言的开源Web应用框架,以其高效、灵活和强大的特性在IT行业中占据了一席之地。它构建于Spring Boot之上,提供了丰富的插件系统,使得开发...