(快速参考)

范围

目的

更改控制器范围

示例

class BookController {

    static scope = "session"

    // ...
}

描述

除了在 application.yml 中由 grails.controllers.defaultScope 属性指定以外,控制器默认是“单例”范围,这意味着只存在控制器的一个实例。可以通过使用 scope 属性并指定以下值之一来为个人控制器设置此行为

  • singleton(默认)- 控制器仅存在一个实例(建议用于方法操作)

  • prototype - 将为每个请求创建新控制器(建议用于闭包属性操作)

  • session - 为用户会话的范围创建一个控制器

有关更多信息,请参见用户指南中的控制器和范围