加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

为什么应该将grails操作声明为方法而不是关闭,它有什么区别?

发布时间:2020-12-14 16:37:43 所属栏目:大数据 来源:网络整理
导读:在grails 2.0中有什么新的 http://grails.org/doc/2.0.0.RC1/guide/introduction.html#whatsNew它说: 1.1.3 Web功能 控制器操作作为方法 现在可以将控制器操作定义为方法,而不是像以前的Grails版本那样使用闭包。事实上,现在这是表达行动的首选方式。例如
在grails 2.0中有什么新的 http://grails.org/doc/2.0.0.RC1/guide/introduction.html#whatsNew它说:
1.1.3 Web功能
控制器操作作为方法
现在可以将控制器操作定义为方法,而不是像以前的Grails版本那样使用闭包。事实上,现在这是表达行动的首选方式。例如:

// action as a method
def index() {
}
// action as a closure
def index = {

}

为什么这很重要?它有什么区别?

更新:我发现这个讨论谈到了很多范围和一些很漂亮的东西。 http://grails.1312388.n4.nabble.com/Controller-actions-methods-or-closures-was-Re-grails-dev-Statically-typed-meta-programing-td3048287.html

我猜我的问题也可能是这样:关闭对行动有什么好处?

解决方法

答案是 here

从上面的链接

利用方法代替Closure属性有一些优点:

>记忆效率高
>允许使用无状态控制器(单例范围)
>您可以覆盖子类的动作,并使用super.actionName()调用覆盖的超类方法
>方法可以使用标准代理机制来拦截,因为它们是字段,所以与Closures相关的操作很复杂。

还有一个类似的groovy问题here有一些更多的细节

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读