Dón*_*nal 0 data-binding grails
在我的Grails 2.3.8应用程序中,我已经定义了以下控制器操作
class RegisterController {
def register(User user) {
render text: "User name is '$user.name'"
}
}
Run Code Online (Sandbox Code Playgroud)
该user参数是一个域类的实例.如果我使用URL调用此控制器
http://localhost:8080/myapp/register/register
Run Code Online (Sandbox Code Playgroud)
我得到了NullPointerException.但是,我对数据绑定的理解是,如果在没有任何参数的情况下调用此操作,则应为该参数指定一个new User()
但是我对数据绑定的理解是,如果在没有任何参数的情况下调用此操作,则应为该参数分配一个新的User()
情况不一定如此.对于域类命令对象,如果不存在任何参数,则仅为POST请求创建新实例.
来自http://grails.org/doc/2.4.0.RC1/guide/theWebLayer.html#commandObjects ...
如果命令对象的类型是域类并且没有id请求参数,那么null将被传递到控制器操作,除非HTTP请求方法是"POST",在这种情况下,将通过调用创建域类的新实例域类构造函数.
2.3.8文档中可能缺少该文本.我将验证并在必要时添加它.