grails命令对象和带前缀的字段

时间:2011-12-30 18:25:42

标签: grails prefix command-objects



我使用的是grails 1.3.7,情况就是这样...... 有一个巨大的表单,其字段有几个不同的前缀(后来用于数据绑定)并尝试通过命令对象进行验证...但是可爱的DOT用于前缀给我带来了困难,无法在命令对象中正确映射名称...有什么建议吗?

表单中的

包含类似字段的字段:

<input name="dealer.name" value="${dealer.name}" type="text"> 

和命令对象:

class somethingCommand {
    String name
    Map dealer = [:]
    static constraints = {
        dealer validator: {
            val, obj ->
            obj.properties["name"] != ""
        }
    }
}

如果....我们以另一种方式查看它并在传递给命令对象之前映射参数...如何在不使用grails魔法的情况下将参数传递给命令对象?!?!?!

TNX

2 个答案:

答案 0 :(得分:0)

你可以通过

抓住控制器中的“经销商”地图
def dealerMap = params["dealer"]

然后手动创建经销商命令opject并将地图内容绑定到它。

def dealerCommand = new DealerCommand() 
bindData(dealerCommand , dealerMap)

然后您可以正常使用命令对象的验证

答案 1 :(得分:0)

支持带有命令对象前缀的数据绑定属性:

对于命令:

class DealerCommand {
    String name
    Map dealer = [:]
}

名为'name','dealer','dealer.name'和'dealer.dealer'的属性将正确绑定到命令对象。

http://grails.org/doc/2.3.x/guide/single.html#commandObjects