2007-03-30

点评Grails vs RoR

关键字: Grails
Grails的革新和RoR相比,非常不彻底,很多地方兼容Java习惯的痕迹很明显,所以使用起来,远远没有RoR快速和方便;Grails和传统Java编程相比,毕竟是动态脚本语言,因此又不具备传统的编译器检查的好处。总之,就是Grails这种中庸的态度导致Grails从快速开发角度既不如RoR,从类型安全的角度又丧失了Java静态类型的好处。

另外,虽然Grails作者因为rhtml可以嵌入ruby代码,所以对rhtml不爽,但是我更不爽JSP Tag。可以这样说,JSP Tag是Java有史以来web编程发展历史上的最大败笔。jsp tag导致了难以进行页面局部重用,难以动态切换页面实现,这对于类似博客网站的应用来说,相当致命。对于页面局部重用,即使是freemarker都提供了很简单的宏扩展功能,而jsp tag则不得不被迫用Java编程自定义tag,至于博客切换模板,那根本就是没门,但是对于freemarker来说,实现很简单。

Grails只能使用JSP Tag作为view层实现,简直就是历史的倒退,基本上凡是强制使用JSP Tag的Java Web框架,我无一例外的反感(webwork是一个例外,webwork可以自由切换view层实现)。

RoR的rhtml模板在局部页面重用,页面装饰,动态切换页面这些方面做的极好,超越了目前我所了解的所有Java Web框架,至于页面嵌入ruby代码,这是一个有没有心理障碍的问题。
评论
jy00057800 2008-01-22   回复
grails的tag很爽呀
class MyCheckboxTagLib {
    def checkGroup = { attrs ->   
            attrs['allList']?.each{t->
                def value =t."${attrs['valueField']}"
                def name = t."${attrs['nameField']}"
                ////
                def check = ''
                attrs['selectList']?.each{st->
                     if(value==st.id)
                     {                        
                          check = "checked='true'"
                     }
                }              
                out << "<input type='checkbox' ${check} name='${attrs["name"]}' value='${value}' />${name}<br>"
            }
    }      
}
这就是一个checkbob的标签,作用就是默认那些选择那些不选择.
不用配置,也不用声明.
只要写在grails-app\taglib下就可以,类名和方法名字也是随便起.
页面调用就是
<g:checkGroup allList="${menus}" selectList="${menus_role}"  nameField="menuName" valueField="id"  name="menus" />
menus,menus_role从控制器传进去
liangshixing 2008-01-01   回复
显然Grails页面GSP里可以像rhtml那样写代码滴
Tin 2007-04-20   回复
Ruby的语法还是更加舒适和轻松呀。
mave99a 2007-04-16   回复
JSP很不爽这说非常赞同 ! 可惜JSF还是严重使用了JSP,还加了更多让人不爽的tag
dongbin 2007-04-02   回复
把ruby往Java上挪本来就是一件费力不讨好的是情。 rhtml确实不匝地,Haml将是ROR view的主流。
andyao 2007-04-02   回复
页面中嵌入Ruby代码,个人觉得没什么问题。其实JSP Tag也可以理解为在JSP页面中加入Java代码,只是多加了一层封装,《Core J2EE Patterns》将这种方式称为View Helper。但是实际应用中确实像robbin说的那样,很难进行页面局部重用。
发表评论

您还没有登录,请登录后发表评论

robbin
搜索本博客
我的相册
1ee685b7-6319-3368-993a-73e0e216281d-thumb
94届浮雕留影.jpg
共 44 张
我的留言簿
  • 你好,本网站的二级域名是怎么动态解析的啊?
    -- by lwj9922
存档
最新评论