期待了很久,今天看Grails的Rss突然发现已经不是原来的空白了,真是有点兴奋,Groovy早就已经发布了1.0版,可是Grails确迟迟没有消息,体验过Ror的我,很早就想体验一下Grails的感觉了,不过以前一直都是需要通过源代码编译的,我这个人一直都是比较懒的,所以……,呵呵,闲话少说,马上体验一下:
下载:
http://grails.codehaus.org/Download
1、下载后解压缩到一个目录,设置GRAILS_HOME环境变量指向该目录,并加入到PATH环境变量里面,另外需要先在环境变量里面设置JAVA_HOME,另外 GRAILS自带了ANT的安装,原来一直在用eclipse集成的,现在顺便也把ANT_HOME也建立起来的:)
2、运行grial create-app
会提示应用程序的名称,输入一个,如example,会在当前目录下建立一个example的目录,以及下一级的子目录,介绍几个需要用到的目录
grails-app/conf/这里存放的是整个项目的环境变量配置信息,ApplicationDataSource.groovy配置的是数据源的信息,ApplicationBootStrap.groovy配置的是启动和停止项目的时候需要的操作
grails-app/controller目录存放的是控制器,相当于action除此之外还有i18n,views
domain等目录,关于orm的内容全部放在domain目录,GRAILS默认带了hsql的驱动,就拿他来试一下:ApplicationDataSource.groovy的内容如下:
class ApplicationDataSource {
@Property boolean pooled = true
@Property String dbCreate = "create-drop" // one of 'create', 'create-drop','update'
//这里的create-drop会在每次重新启动项目的时候,把原来的数据删除,重建表的结构
@Property String url = "jdbc:hsqldb:mem:testDB"
@Property String driverClassName = "org.hsqldb.jdbcDriver"
@Property String username = "sa"
@Property String password = ""
}
3、在cmd下,进入该项目的主目录,即example目录,运行
grails create-domain-class,会提示建立domain class的名字,输入Book,就会在grails-app/domain下生成一个Book.groovy,默认的内容是
class Book {
@Property Long id
@Property Long version
}
添加两个其他的属性,最终的结果如下:
class Book {
@Property Long id
@Property Long version
@Property String title
@Property String author
}
这样一个映射类就建立好了,
4、建立控制器,运行grails create-controller,会提示输入控制器的名字,在这里输入BookController,GRAILS和ROR一样都是用约定命名的,在Ror中一个Book的domain class对应着一个名字为books的表,BookController的内容为
class BookController {
@Property index = {
redirect(action:list)
}
@Property list = {
[ books : Book.list() ]
}
}
这样在浏览器里面就可以通过/example/book/以及/example/book/list的方式来调用,index定义的是默认的动作,所以可以省略。
4、建立view,在grails-app/views/目录下建立一个目录book,在该目录下建立一个文件list.gsp,与controller中的方法名字一致,内容如下
java 代码
- class BookController {
- @Property index = {
- redirect(action:list)
- }
- @Property list = {
- [ books : Book.list() ]
- }
- }
此时运行项目grails run-app,会启动GRAILS自带的Jetty作为web容器,默认端口是8080,可以通过grails -Dserver.port=9000 run-app改变端口,此时在浏览器里输入http://localhost:8080/example/book是没有数据的,因为数据库里没有数据,
可以通过修改ApplicationBootStrap.groovy文件,在其@Property Closure init {}块中加入
new Book(author:"world",title:"haha").save()
new Book(author:"中国",title:"hello").save()
这样再运行就能显示两条记录了:)
5、稍微在修改一下list.gsp,加入一下内容
xml 代码
- <html>
- <head>
- <title>Book list</title>
- </head>
- <body>
- <h1>Book list</h1>
- <table>
- <% books.each {%>
- <tr><td>${it.title}</td><td>${it.author}</td></tr>
- <%}%>
- </table>
- </body>
- </html>
然后在BookController下面加入一个create方法,和form中的方法对应,处理提交后的操作
@Property create = {
def b = new Book()
b.properties = params
b.save()
redirect(action:list)
}
或者也可以
new Book(author:params["author"],title:params["title"]).save()
b.save
对于post,中文支持良好,但是Get方式中,传入的中文会变成乱码,不过没有在文档中找到相应的,看来需要自己解决(嗯,嗯,以后再说,哈:))
最后的总结,第一感觉grails还不错,呵呵,和ror比较类似,又有和java类似的语法,集成了spring,hibernate,由于现在用的只是皮毛,太深层次的话说不出来,可能现在最要紧的是IDE的支持了吧,Ror的RadRails试用过,还是比较方便的,深层次的功能,慢慢再说,(不知道什么时候呢,呵呵:))
分享到:
相关推荐
《Grails Acegi 0.1插件:深入解析与应用》 在Web开发领域,Grails作为一种基于Groovy语言的敏捷开发框架,以其高效、简洁的特性深受开发者喜爱。而Acegi插件则是Grails中用于权限管理和安全控制的重要组件,它借鉴...
**Grails 框架详解** Grails 是一个基于 Groovy 语言的开源Web应用程序框架,它构建在Java平台之上,旨在简化开发过程并提高生产力。Grails 的设计深受Ruby on Rails的影响,提供了MVC(模型-视图-控制器)架构模式...
【Grails项目搭建详解】 Grails是一个基于Groovy语言的开源Web应用框架,它简化了开发过程,尤其适合快速构建动态网站。在Eclipse中搭建Grails项目可能相对复杂,但通过以下步骤,即使是初学者也能顺利进行。 1. *...
《Grails权威指南》是一本全面深入探讨Grails框架的专著,旨在帮助读者掌握这一强大的Web开发工具。Grails是一种基于Groovy语言的开源框架,它为构建现代、高效的应用程序提供了简洁高效的解决方案。本指南针对不同...
《Grails用户手册》 Grails,作为一个基于Groovy语言的开源Web应用框架,深受开发者喜爱,它简化了Java开发的复杂性,提供了强大的MVC(Model-View-Controller)架构,以及丰富的插件系统。这份用户手册将帮助你...
对于Grails开发,我们需要的是Eclipse中的Grails插件,它能够提供对Grails项目的创建、运行、调试等一系列功能。 **Grails**是基于Groovy语言的全栈式Web开发框架,它借鉴了Ruby on Rails的设计理念,提供了快速...
Grails是一个基于Groovy语言的全栈框架,它遵循约定优于配置的原则,并且紧密集成Spring和Hibernate等流行的Java库,简化了开发流程。Grails在IT行业中尤其受到重视,因为它能够帮助开发者快速搭建并部署基于MVC模式...
《Grails 2 的终极指南》是一本深入探讨Grails框架精髓的专业书籍,该书以英文撰写,旨在为读者提供全面、深入的Grails框架学习资料。Grails框架基于Groovy语言,是一种高度动态、敏捷的Java应用开发框架,它简化了...
《Grails 中文参考手册》是一本全面介绍Grails框架的指南,旨在帮助开发者快速上手并深入理解Grails的各个核心概念和技术。Grails是一个基于Groovy语言的开源Web应用框架,它提供了高效的开发环境和强大的功能,使得...
Eclipse 插件 Grails(Groovy)是一个强大的开发工具,它使得在Eclipse环境中进行Groovy和Grails应用的开发变得更为便捷。Groovy是一种动态、面向对象的编程语言,而Grails则是一个基于Groovy的开源Web应用框架,...
### Grails 快速开发 Web 应用程序 #### 一、Grails 概述 Grails 是一种基于 Groovy 的开源应用框架,用于简化 Web 应用程序的开发过程。它采用约定优于配置的原则,这使得开发者可以更快地创建功能丰富的 Web ...
**Grails 概述** Grails 是一个基于 Groovy 语言的开源 web 应用程序框架,它构建在 Java 平台上,旨在提高开发效率,简化常见 Web 开发任务。Grails 遵循 Model-View-Controller (MVC) 架构模式,允许开发者快速...
**Grails登录系统详解** Grails是一个基于Java的开源Web应用程序框架,它使用Groovy语言进行开发,提供了高效、简洁的编程模型。在Grails中实现用户登录功能是构建任何Web应用的基础,它确保了数据的安全性和用户...
### Groovy和Grails配置方法 #### 一、Groovy与Grails简介 Groovy是一种强大的面向对象编程语言,它运行在Java平台上,并且能够直接与Java代码进行交互。Groovy支持函数式编程特性,拥有丰富的语法糖以及简洁的...
《Grails技术详解:中文文档与Fckeditor-0.9.5插件解析》 Grails,作为一款基于Groovy语言的开源Web应用框架,以其高效、简洁的特性深受开发者喜爱。它集成了许多Java EE的功能,同时简化了开发流程,使得开发人员...
《Grails 2.4.4 框架深度解析》 Grails 2.4.4 是一个基于Java的开源Web应用框架,它利用Groovy语言的强大特性,为开发者提供了一种高效、灵活的开发环境。这个压缩包“grails-2.4.4.zip”包含了完整的Grails 2.4.4...
《Grails中文参考手册》是针对Groovy编程语言构建的Web应用框架——Grails的一份详尽学习资料。Grails以其高效、灵活和强大的特性,成为开发人员在Java平台上构建Web应用的热门选择。这份手册旨在帮助初学者快速上手...