2015-02-08 104 views
1

比方說,有鑑於文件夾2個階模板獲取斯卡拉模板

  1. file1.scala.html
  2. container.scala.html

現在我想將第一個模板傳遞給控制器​​的第二個模板(container.scala.html)。像:

public class Application extends Controller { 
    static Result isItPossible() 
    { 
     Result theFile=ok(file1.render()); 
     return ok(container.render(theFile)); 
    } 
} 

這可能嗎?如果是這樣,我該怎麼做?

回答

1

您可以將渲染模板傳遞給container模板。 container需要有一些Html參數:

container.scala.html:

@(content: Html) 

<p>Here's my content: @content </p> 

而且從控制器內:

public class Application extends Controller { 
    return ok(container.render(file1.render())); 
} 
0

值得一提的是,你並不需要將您的包裝容器結合到控制器中,因爲模板引擎可以使用佈局as described in docs )。在這種情況下,你可以使用它像:

container.scala.html

@()(content: Html) 
<p>Here's my content: @content </p> 

file1.scala.html

@container() { 
    <b>this is content of <i>file1</i> template</b> 
} 

控制器

​​