如何在Grails模板body()中分配GSP变量?
|
在我的Grails 1.3.7应用程序中,我想使用模板从视图中剔除周围的HTML。但是,GSP变量分配不适用于所包含的body()。如何执行以下操作?
_aTemplate.gsp:
<div class=\"example\">
<% out << body() %>
</div>
aView.gsp:
<html>
<head>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />
<meta name=\"layout\" content=\"main\" />
</head>
<body>
<g:set var=\"foo\" value=\"${42}\"/>
<% assert foo == 42 : foo %>
<tmpl:/aTemplate>
<g:set var=\"bar\" value=\"${6}\"/>
<% assert bar == 6 : bar %>
</tmpl:/aTemplate>
</body>
</html>
bar
的分配不起作用:当我得到http:// localhost:8080 / myApp / aView.gsp时,bar
断言失败
org.codehaus.groovy.grails.web.taglib.exceptions.GrailsTagException:
Error executing tag<g:render>: Assertion failed:
(bar == 6). Values: bar = null
at /Users/jbeutel/proj/grailsSandboxes/myApp/grails-app/views/aView.gsp:13
如何使模板body()正常工作?
另外,还有其他方法可以使周围的HTML保持平衡吗?我的用例不在最高层,因此我没有尝试使用布局。如果我使用TagLib闭包而不是模板文件,则变量分配有效,但是我不想在闭包中放入大量HTML,因此无论如何我都需要将不平衡的HTML放入模板文件(即,单独的模板)身体前后)。有没有更好的办法?
没有找到相关结果
已邀请:
1 个回复
禽兢玫坞劲
然后在_header.gsp中