如果在插入用户时发生某些错误,我希望查看默认错误消息。在控制器中我有 2 个动作:
def openPage() {
[user: new User(params)]
}
def save() {
User user = new User(params)
if (!user.save(flush:true)) {
redirect(view:'openPage', model:[user:user])
return
} else {
flash.message = "User saved"
redirect(action:'openPage')
}
}
这是我的gsp:
<g:hasErrors bean="${user }">
<g:eachError bean="${user }" var="error">
<li>${error } </li>
</g:eachError>
</g:hasErrors>
<g:if test="${flash.message }">
${flash.message }
</g:if>
<g:form action="save">
Name:<g:textField name="username"/>
<g:submitButton name="ok" value="Save"/>
</g:form>
但是有问题,如果我没有发送任何值,我看不到任何错误。这是我的域名:
String username
static constraints = {
username(nullable:false, blank:false, unique:true)
}
我的代码有什么问题?请帮忙。我必须使用这种方法来捕获错误还是最好使用 if...else 和 try...catch?