Grails字段值为null

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Grails字段值为null相关的知识,希望对你有一定的参考价值。

我一直在尝试使用g:表单将数据传递到Grails中的数据库。下面是我的.gsp文件代码:

Register
    <g:form controller="user" action="save">
        <label>Username:</label>
        <g:textField name="username"/>
        <br/>
        <label>Password:</label>
        <g:passwordField name="password"></g:passwordField>
        <br/>
        <g:actionSubmit value="Save"/>
    </g:form>

以下是我的控制器代码:

def index(){
        def users = User.list();
        [users:users]
    }

def save(){
    if(params.get(1) != null && params.get(2) != null){
    def usr = new User(params);
    usr.save(failOnError: true);
    render (view: 'welcome.gsp');
    } else {
        render (view: 'loginfailed');
    }
}

正如您所预测的那样,执行的save()方法块位于“else”语句中。到目前为止,我一直在关注这个链接下的教程,只是做我自己的类比内容:http://grails.asia/grails-tutorial-for-beginners-form-submission-and-saving-data-to-the-database/

你知道为什么传递的值是null吗?我已经坐了几个小时了,无法找到解决方案。

答案
def save(){
    if(params?.username && params?.password){
    def usr = new User(params);
    usr.save(failOnError: true,flush:true);
    render (view: 'welcome.gsp');
    } else {
        render (view: 'loginfailed');
    }
  }

注意:User域应包含usernamepassword

以上是关于Grails字段值为null的主要内容,如果未能解决你的问题,请参考以下文章