Grails字段值为null

时间:2018-03-05 15:54:09

标签: database grails gsp

我一直在尝试使用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吗?我已经坐了几个小时了,找不到解决办法。

1 个答案:

答案 0 :(得分:0)

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