Grails - message
Grails - message
- 文档:https://gsp.grails.org/latest/ref/Tags/message.html
- 注意:需要留意message的有效期
获取 i18n 配置
- 在 message.properties 中定义 message 信息,然后再页面上直接使用。
// 取出 i18n 中配置的 accountCity.label 内容放置到 entityName 变量中,如果没取到,就设置为 AccountCity。
// 然后就可以在当前的 GSP 页面上使用这个变量。
<g:set var="entityName" value="${message(code: 'accountCity.label', default: 'AccountCity')}" />
// 直接将 message 插入到页面中
<g:message code="default.home.label"/>
<g:message code="default.button.create.label"/>
// 在JS里面使用统一的国际化 message
<script>
alert(<g:message code="js.success.save"/>)
</script>
校验 Domain
- 在 Controller 中添加mesage内容,将两个内容填充到变量里面,第一个是estate.errors.allErrors.head().objectName,第二个是estate.errors.allErrors.head().field
if (estate.validate())
{
estate.save flush: true
} else
{
flash.message = message(code: 'default.blank.message', args: [estate.errors.allErrors.head().objectName, estate.errors.allErrors.head().field])
redirect(controller: "collateral", action: "edit", params: [id: collateral.id])
return
}
- 然后跳转到指定页面:redirect(controller: "collateral", action: "edit", params: [id: collateral.id]) ,在页面上显示出异常信息
<g:if test="${flash.message}">
<div class="message" collateral="status">${flash.message}</div>
</g:if>
校验 Domain
if (workflowTypeTeam.hasErrors())
{
transactionStatus.setRollbackOnly()
def error = workflowTypeTeam.errors.allErrors.first()
flash['message'] = message(code: error.defaultMessage.toString(), args: error.arguments)
redirect(action:'create')
return
}
本文来自博客园,作者:duchaoqun,转载请注明原文链接:https://www.cnblogs.com/duchaoqun/p/13408077.html