Grails控制器,Command Object爆炸

时间:2011-09-28 22:40:21

标签: grails controller command-objects

在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 Class仅适用于此数据绑定&验证目的。爆炸的类数已经爆炸,为应用程序的每个操作创建了1个类。 问题是,有没有办法让这个PublishCommand作为innerClass?或者其他方式,我不必创建这么多的类?

1 个答案:

答案 0 :(得分:3)

将命令对象类放在与控制器相同的.groovy文件中(在控制器类之后),这是很常见的做法。这将有助于减少您必须管理的文件数量。否则,您遵循最佳实践(来自您所描述的内容)。