【问题标题】:Flash message contents lost in layoutFlash 消息内容在布局中丢失
【发布时间】:2014-01-06 18:43:49
【问题描述】:

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

现在,
当控制器发送任何 flash 消息时,它在 homepage.gsp 中可用,但是当在其上应用布局并显示页面时,flash 消息会丢失。

我希望 Flash 消息在布局代码中可用。 同样,如果我不需要在 homepage.gsp 中添加任何代码会更好,因为有很多这样的页面,控制器可以返回 flash 消息。

我该如何处理?
非常感谢任何帮助。

【问题讨论】:

  • 将布局、主页和控制器代码添加到问题中。
  • 实际上代码太大了,无法在这里发布。如果有任何具体细节可以告诉我,请告诉我。我将粘贴那部分代码。
  • 您不需要发布整个文件,只需发布​​与您的问题有关的部分即可。

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


【解决方案1】:

这是我将使用的代码,我已经测试过了,它可以工作。 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>

控制器:

    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 消息将显示在正文或将要呈现的页面的顶部

【讨论】:

    猜你喜欢
    • 2014-08-03
    • 1970-01-01
    • 1970-01-01
    • 2020-08-26
    • 1970-01-01
    • 1970-01-01
    • 2011-11-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多