按唯一名称绑定域类

Dón*_*nal 3 data-binding grails

我的Grails应用程序具有以下命令对象

class MyCommand {

    @BindUsing({
        obj, source ->
            User.findByUsername(source.username)
    })
    User user

    // other stuff not relevant to this question
}
Run Code Online (Sandbox Code Playgroud)

请求参数包括username唯一标识的参数User.我添加了@BindUsing注释,以便将user命令对象的属性绑定到相应的User实例.但是,在数据绑定完成后user,即使username参数正确,该字段也为空.我究竟做错了什么?

Jef*_*own 5

我不认为这与保留策略,动态查找器,withTransaction或withSession有任何关系.问题是,如果存在名为"user"的请求参数,则仅为"user"属性触发@BindUsing闭包.该描述表明在这种情况下可能没有一个在起作用.

  • @dmahapatro你是对的.参数名称驱动绑定.如果没有名为"foo"的参数,则当前没有对名为"foo"的属性进行绑定. (2认同)