如何解决grails生成所有编码说明
早上好
我有一个关于grails的新手问题。在此先感谢您帮助我理解!
我不理解控制器中的代码以及由generate-all命令生成的视图。
这是图书控制器中的保存操作。
try {
bookService.save(book)
} catch (ValidationException e) {
respond book.errors,view:'create'
return
}
我不断阅读指南,但我只是不理解他们的用语。我不知道目前回复是什么。我假设响应将书中的错误对象发布到创建视图。
这是创建视图中的代码。
<g:hasErrors bean="${this.book}">
<ul class="errors" role="alert">
<g:eachError bean="${this.book}" var="error">
<li <g:if test="${error in org.springframework.validation.FieldError}">data-field-id="${error.field}"</g:if>><g:message error="${error}"/></li>
</g:eachError>
</ul>
</g:hasErrors>
因此,$ {this.book}应该为NULL。我看不到该视图正在寻找$ {this.errors}来获取控制器发出的错误消息POST。错误对象是POST到$ {error.field}所在的视图后,我没得到。
谢谢!
解决方法
好吧,我知道了。控制器将book.errors对象绑定到创建视图。
respond book.errors,view:'create'
但是,视图没有使用book.errors对象显示保存错误。
<g:eachError bean="${this.book}" var="error">
$ {this.book} 不是 book.errors 。我本来以为this.book是一个指向book.errors的指针。我错了。
$ {this.book} 是控制器中定义的工作簿对象。该视图根本没有使用book.errors对象。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。