2012-06-04 12 views

回答

3

如果它傳遞給渲染方法,它將按照正常情況提供。整個視圖(包括擴展和包含)由Groovy模板引擎呈現。

但是,對於通常在每個視圖中擴展的main.html,最佳選項是始終使用@Before註釋將其添加到renderArgs映射中,如下所示。這確保它始終可用,並且您不要重複自己(DRY)。

@Before 
private void setup() { 
    renderArgs.put("somekey", "somevalue"); 
} 

這樣,你不需要somekey傳遞到render方法上的每個渲染調用。

然後,在您的main.html中,只需使用標準方法$somekey就可以訪問somekey

+0

謝謝,制定出很好。 – theTuxRacer

1

Codemwnci給出瞭如何將變量傳遞給控制器​​內部佈局模板的解決方案。下面是如何從普通視圖變量傳遞到佈局視圖:

在您的index.html,你可以這樣做:

#{set title:'My title'/} 

而在你的main.html中,你可以「搞定」 index.html中設置變量:

<h1>#{get 'title'/}</h1> 

如果您正在使用RythmJapid模板引擎,那麼你可以傳遞變量直接在extends聲明

012 main.html中

在節奏模板引擎,假設你的main.html中是:

@args String title 
... 
<h1>@title</h1> 
... 

您可以使用下面的語句延長index.html的主模板:

@extends(main, "my title") 
相關問題