2

我正在使用 Play for Model 和 Controller 构建一个应用程序,但使用的是主干.js 和客户端模板。现在,我希望 Play 提供 html 模板,而无需任何支持控制器。我知道我可以将我的模板放在公共目录中,但我想使用 Play 的模板引擎从消息文件中将字符串放入我的模板中。我不需要任何其他数据,因此不希望为每个模板创建一个虚拟控制器。我可以用 Play 做到这一点吗?

4

2 回答 2

2

您可以创建一个控制器并将模板名称作为参数传递,但我不确定这是否是个好主意。

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

然后将所有路由指向该控制器方法。不过,忘记反向路由。

我想我仍然希望每个模板都有一个单独的控制器方法。请记住,您可以使用@Before注释(请参阅Play Framework 文档)将消息字符串处理在一个位置,该位置在每个控制器方法之前执行。通过使用@With注释,您甚至可以在单独的类中拥有此逻辑。

于 2012-03-07T06:06:50.100 回答
1

您可以在代码中的任何位置使用模板引擎:

String result = TemplateLoader.load("Folder/template.html").render(data); 
于 2012-03-07T07:06:25.830 回答