这是情景:
我有布局:main.gsp
并有一个应用此布局的页面:homepage.gsp
我在main.gsp中有一个div,如果有的话我会显示flash消息。
现在,
当控制器发送任何flash消息时,它在homepage.gsp中可用,但是当在其上应用布局并显示页面时,flash消息将丢失。
我想在布局代码中使用flash消息。 同样,如果我不需要向homepage.gsp添加任何代码,那将是更好的选择,因为有很多这样的页面,控制器可以返回flash消息。
我该如何处理?
任何帮助非常感谢。
答案 0 :(得分:0)
这是我将使用的代码,我已经测试过并且它可以工作。 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…"/></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消息将显示在正文的顶部或将要呈现的页面