2

我正在使用Play for Model和Controller構建應用程序,但使用backbone.js和客戶端模板。現在,我希望無需任何支持控制器即可通過Play提供HTML模板。我知道我可以將我的模板放在公共目錄中,但我希望使用Play的模板引擎將消息文件中的字符串放入我的模板中。我不需要任何其他數據,因此不需要爲每個模板創建虛擬控制器的痛苦。我可以用Play做到這一點嗎?在Play中沒有任何控制器的渲染視圖

回答

2

您可以創建單個控制器並將模板名稱作爲參數傳入,但我不確定它是否是個好主意。

public static void controller(String templateName) { 
    // add whatever logic is needed here 
    renderTemplate("Controller/"+templateName+".html");  
} 

然後將所有路線指向該控制器方法。但是,忘記反向路由。

我想我寧願有一個單獨的控制器方法爲每個模板。請記住,您可以使用@Before註釋(請參閱Play Framework documentation)將消息字符串處理在一個位置,即在每個控制器方法之前執行。通過使用@With註釋,您甚至可以在單獨的類中使用此邏輯。

1

您可以在代碼中使用模板引擎從任何地方:

String result = TemplateLoader.load("Folder/template.html").render(data); 
相關問題