在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?或者其他方式,我不必创建这么多的类?
答案 0 :(得分:3)
将命令对象类放在与控制器相同的.groovy文件中(在控制器类之后),这是很常见的做法。这将有助于减少您必须管理的文件数量。否则,您遵循最佳实践(来自您所描述的内容)。