我需要在控制器中“覆盖”一个脚手架动作,做一些事情,然后调用原始动作。我更喜欢使用动态生成的方法,而不必剪切和粘贴代码。
class AccountController {
static scaffold = Account
def list = {
// do something
// invoke "super.list" i.e. the dynamically generated scaffold
}
有任何想法吗?
我需要在控制器中“覆盖”一个脚手架动作,做一些事情,然后调用原始动作。我更喜欢使用动态生成的方法,而不必剪切和粘贴代码。
class AccountController {
static scaffold = Account
def list = {
// do something
// invoke "super.list" i.e. the dynamically generated scaffold
}
有任何想法吗?
您可以考虑使用拦截器或过滤器(为什么?更清洁)
控制器拦截器 http://grails.org/doc/latest/guide/6.%20The%20Web%20Layer.html#6.1.5
过滤器http://grails.org/doc/latest/guide/6.%20The%20Web%20Layer.html#6.6
在新控制器中完成所需的任何操作后,只需重定向到原始控制器即可。类似于以下内容:
class NewController
def doSomethingOriginal = {
redirect(controller: "scaffoldedcontroller", action: "list", params: params)
}
}
希望这会有所帮助