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

为什么Grails要求我在控制器中使用`def`而不是`void`?

发布时间:2020-12-14 16:34:13 所属栏目:大数据 来源:网络整理
导读:拿下以下控制器: package testclass TestController { static defaultAction = "test" def test() { render "test" }} 为什么测试使用def test(){而不是像void test(){? def关键字不是仅用于脚本中的闭包或函数(即不在Groovy类中)吗? 解决方法 render是无
拿下以下控制器:

package test

class TestController {
    static defaultAction = "test"

    def test() {
        render "test"
    }
}

为什么测试使用def test(){而不是像void test(){? def关键字不是仅用于脚本中的闭包或函数(即不在Groovy类中)吗?

解决方法

render是无效的,因此在这种情况下,测试操作可能是无效的,但是如果返回模型映射,则操作必须是非void的:

def create() {
   [personInstance: new Person(params)]
}

由于某些操作可以返回值而某些操作不返回,因此一般语法必须返回def以支持所有变体.

(编辑:李大同)

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

    推荐文章
      热点阅读