0

Grails コントローラー アクションでは、検証のために、コマンド オブジェクトを使用します。問題は、CommandObject クラスの数が急増したことです。

 def publish = { PublishCommand command ->
        if (command.hasErrors()) {
            return redirect(action: 'errors',params:params)
        }
        //rest of the code
  }
 ......

Class PublishCommand {
   long personId
   String name
   static constraints = {
        personId(nullable: false, blank: false)
        name(nullable: false, blank: false)

   }
}

PublishCommand クラスは、このデータバインディングと検証の目的でのみ存在します。このようなクラスの数は爆発的に増加しており、アプリケーションのアクションごとに 1 つずつ作成されています。質問は、この PublishCommand を innerClass として持つ方法はありますか? または、それほど多くのクラスを作成する必要がない他の方法はありますか?

4

1 に答える 1

3

コマンドオブジェクトクラスをコントローラーと同じ.groovyファイル内(コントローラークラスの後)に配置することは、かなり一般的な方法です。これにより、管理する必要のあるファイルの数を減らすことができます。それ以外の場合は、(説明した内容から)ベストプラクティスに従っています。

于 2011-09-29T06:43:41.150 に答える