我需要显示一条错误消息弹出窗口,如下面的link所示。它应该出现在页面顶部几秒钟然后逐渐消失。
if (!userInstance.save(flush: true)) {
// THE ERROR POPUP SHOULD BE CALLED FROM HERE
return
}else {
...
}
我应该将代码放在HTML中,如何从GRAILS控制器中调用它?
答案 0 :(得分:2)
与显示控制器数据的任何视图一样,您应将此信息放入模型中。我建议你选择模型中的标准元素,以便更容易实现整个项目(我假设你要去的地方)。
所以例如,在您的控制器中:
def model = [:]
model['userInstance'] = userInstance
...
if (!userInstance.save(flush: true)) {
// set/lookup the error message
model['errorMessage'] = message(code: 'some.error.message.you.lookup')
// render the view
render(view: 'theviewname', model: model)
return
}else {
...
}
然后您可以在视图(或布局)中显示它:
<g:if test="${errorMessage}">
<div class="class="alert alert-danger alert-dismissable">${errorMessage}</div>
</g:if>
因为这里的概念是最重要的部分,所以我会将它从画面中逐渐消失(撒上jquery),因为这里的概念是最重要的部分。
希望这会有所帮助,欢迎来到Grails!