2

コントローラのスキャフォールドアクションを「オーバーライド」し、いくつかの処理を行ってから、元のアクションを呼び出す必要があります。コードを切り取って貼り付ける必要がなく、動的に生成されたメソッドを使用したいと思います。

class AccountController {
    static scaffold = Account
    def list = {
        // do something
        // invoke "super.list" i.e. the dynamically generated scaffold
    }

何か案は?

4

2 に答える 2

2

代わりにインターセプターまたはフィルターの使用を検討できます(なぜですか?はるかにクリーンです)

コントローラーインターセプター 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

于 2011-09-20T08:54:38.243 に答える
-1

新しいコントローラーで必要なことをすべて行ったら、元のコントローラーにリダイレクトするだけです。次のようなもの:

class NewController
 def doSomethingOriginal = {
    redirect(controller: "scaffoldedcontroller", action: "list", params: params)
 }
}

うまくいけば、これが役立つ

于 2011-09-20T08:55:34.297 に答える