我一直在尝试使用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吗?我已经坐了几个小时了,找不到解决办法。
答案 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
域名应包含username
和password