我有一个模板
_template.gsp
<g:each in="${temp}" status="i" var="var">
${var}
</g:each>
我在所有屏幕上渲染此模板,如何做到这一点? 我这样做了,我发现它非常多余
控制器
def action1(){
def temp = Temp.list()
[temp:temp]
}
def action2(){
def temp = Temp.list()
[temp:temp]
}
action1.gsp
<g:render template ="../template" />
action2.gsp
<g:render template ="../template" />
答案 0 :(得分:2)
您可能最好使用<g:include>
并将各种GSP中的结果(可以是模板)包括在内。
例如:
def sharedAction() {
def temp = Temp.list()
render(template: 'templateNameHere', model: [temp: temp])
}
def action1() {
...
}
def action2() {
...
}
action1.gsp和action2.gsp
<g:include controller="theControllerName" action="sharedAction" />
<强> _templateNameHere.gsp 强>
<g:each in="${temp}" status="i" var="var">
${var}
</g:each>