grails 初体验
程序员文章站
2024-03-21 14:49:04
...
grails 初体验
根据grails 入门指南,做完了一个小例子,初步感觉grails和rails还是很像的,都是约定优于配置
grails是构建于spring、hibernate和sitemesh的框架之上,采用MVC模式.看其来和我们常用的SSH架构差不多.
主要是domain class(也就是entity) 封装的功能很强大,把之前的dao层的功能全部封装到里面了,这样省了不少代码
View 用的是gsp 和jsp差不多,封装了一些常用的标签,不过grails开发标签很轻松,按照规范在grails-app/taglib目录下,命名规范为XXXTagLib.groovy,就可以直接用了,不需要配置
Controller 和我们平的Action几乎一样,参数的封装更简洁一些
grails用jvm为运行环境,所以只有要能部署java selervet的容器都可以部署grails.
从这个简单的应用看grails比java现有的一些web框架很有优势,开发效率很高,而且grails可以调用java现有的一些组件,两都结合开发应该是个不错的方向.
当然grails还很年轻,真的整合起来,估计问题比较多,而且两种语言混合,问题定位估计会麻烦.所以目前还没听说有那些大型应用采用grails的.
grails 强大的render 方法
-
直接返回简单的纯文本字串
class FooController{
...
def ajaxResponse = {
...
render("This is an Ajax response.")
}
-
指定返回内容的格式和编码
render(text:"<xml>some xml</xml>",contentType:"text/xml",encoding:"UTF-8")
-
返回模板内容
render(template:"feeds", model:[feeds:feeds], contentType:"text/html", encoding:"UTF-8")
-
返回JSON,直接自动转换一个object为JSON
import grails.converters.*
...
def jsonObj = [object:[collection:[[name:‘value1′],[name:‘value2′]]]]
render jsonObj as JSON
-
返回JSON,通过JSON builder DSL直接构造JSON数据
render(contentType:‘text/json’, , encoding:'UTF-8'){
studio(name:‘Pixar’,website:‘pixar.com’)
films{
film(title:‘Toy Story’,year:‘1995′)
film(title:‘Monsters, Inc.’,year:‘2001′)
film(title:‘Finding Nemo’,year:‘2003′)
}
}
上一篇: 单向链表的反转
下一篇: 数据结构:单链表(不带头结点)
推荐阅读
-
使用Markdown编写文章初体验
-
grails 初体验
-
Grails通过sessionId获取session对象
-
grails新增的screencasts Grails
-
grails 简单应用小结 博客分类: groovy/grails GrailsGroovyJavaRailsSpring
-
关于rails和Grails的性能讨论 RailsGrailsRubyGroovy框架
-
Grails命令备忘录 博客分类: GROOVY GrailsDojoquartzGroovySwing
-
Grails is a breath of fresh air for Java developers AIRGrailsJavaRailsJSP
-
Grails 0.5发布在即,我关注的部分新特性 博客分类: groovy/grails GrailsHibernate.netHTML
-
用Grails的TagLib实现博客模板兼论TagLib是否应被一棍子打死 GrailsColdFusionJSPAIRGroovy