grails - Flash消息内容在布局中丢失

标签 grails grails-2.0 grails-controller flash-message

这是场景:
我有布局:main.gsp
并具有应用此布局的页面:homepage.gsp
我在main.gsp中有一个div,如果有的话,我会在其中显示Flash消息。

现在,
当 Controller 发送任何Flash消息时,其可在homepage.gsp中使用,但是当在其上应用布局并显示页面时,Flash消息将丢失。

我希望Flash消息在布局代码中可用。
再次,如果我不需要在homepage.gsp中添加任何代码,那将是可取的,因为有许多这样的页面 Controller 可以返回闪速消息。

我该如何处理?
任何帮助,不胜感激。

最佳答案

这是我将使用,经过测试且可以正常工作的代码。
main.gsp

    <body>
    <div id="grailsLogo" role="banner"><a href="http://grails.org"><img src="${resource(dir: 'images', file: 'grails_logo.png')}" alt="Grails"/></a></div>
    <div>
        <g:if test="${flash.message }">
        ${flash.message }
        </g:if>
    </div>
    <g:layoutBody/>
    <div class="footer" role="contentinfo"></div>
    <div id="spinner" class="spinner" style="display:none;"><g:message code="spinner.alt" default="Loading&hellip;"/></div>
    <r:layoutResources />
</body>

Controller :
    package com.mtsinai

class EmployeeController {

    def index() { 
        flash.message = 'Welcome world'
    }
}

index.gsp
    <%@ page contentType="text/html;charset=UTF-8" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
<meta name="layout" content="main"/>
<title>Insert title here</title>
</head>
<body>
  <div class="body">

  </div>
</body>
</html>

请注意,Flash消息将显示在正文或要呈现的页面的顶部

关于grails - Flash消息内容在布局中丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20956971/

相关文章:

sql - 在Grails中执行SQL的速度是在工作台中执行相同SQL的速度的两倍,为什么?

unit-testing - 使用单元测试读取然后删除 xml 文件的最佳方法

grails - 在Grails中创建动态变量名称

testing - Grails 2.0 集成测试污染?

grails - Grails:具有.gsp扩展名/格式的URL映射

grails - 如何获取服务的spring bean实例,通过webflow中的依赖注入(inject)添加

grails - 如何在 grails 3 中为单元测试设置 mysql db

grails - 错误500:在Cloud Foundry上部署Grails应用程序时Closure.rehydrate

javascript - 在同一页面加载的 javaScript 文件中使用 gsp 布局声明变量

javascript - 如何在 Grails 中接收 Angular $http post 多部分表单数据