grails – 显示flash消息
发布时间:2020-12-15 07:33:21 所属栏目:百科 来源:网络整理
导读:我是Grails的新手,我有一个问题对大多数人来说应该很容易. 我有一个显示对象列表的页面.如果在删除对象时存在DataIntegrityViolation,我想显示一条消息.我在做的是: def delete() { def instanceToDelete= Myobject.get(params.id) try { instanceToDelete.
我是Grails的新手,我有一个问题对大多数人来说应该很容易.
我有一个显示对象列表的页面.如果在删除对象时存在DataIntegrityViolation,我想显示一条消息.我在做的是: def delete() { def instanceToDelete= Myobject.get(params.id) try { instanceToDelete.delete(flush: true) redirect(action: "list",id: params.id) } catch (DataIntegrityViolationException e) { flash.message = "some message" //I want to refresh the div containing the flash.message here } } 这是应该显示flash消息的位置: <g:if test="${flash.message}"> <div class="alert alert-error" style="display: block">${flash.message}</div> 对不起 – 我知道这是一个愚蠢的问题,但我真的找不到解决方案. 解决方法
flash对象是一个存储键/值对的Map,因此您可以为错误消息定义自己的键.例如:
try { instanceToDelete.delete(flush: true) flash.message = "successfully deleted object" } catch (DataIntegrityViolationException e) { flash.error = "could not delete object" } redirect(action: "list",id: params.id) 然后,您可以检查包含错误密钥的Flash对象,并为该类消息使用不同的样式: <g:if test="${flash.error}"> <div class="alert alert-error" style="display: block">${flash.error}</div> </g:if> <g:if test="${flash.message}"> <div class="message" style="display: block">${flash.message}</div> </g:if> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |