grails 初体验

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′)
        }
}

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值