1

在这里玩新手。

在 Play 文档中声称 Play 模板可以是任何基于文本的格式。如果我想使用 javascript 模板或纯文本模板而不是 html 模板,它是如何工作的?

在 Rails 中,我可以有不同格式的不同视图(模板)。例如,我可以有一个people/index.html.erb使用部分调用的_list.html.erb,如下所示:

<h1>People</h1>
<ul id="people">
  <%= render "list" %>
</ul>

然后我可以有一个people/index.js.erb使用相同的部分,看起来像这样:

$('#people').html('<%= escape_javascript(render("list")) %>');

如果客户端需要渲染整个页面,它可以发送一个接受 html 文档的请求,应用程序将提供 html 视图。如果OTOH客户端只需要更新部分页面,它可以发送一个接受脚本的请求,应用程序将提供js视图。这是非常聪明的恕我直言,我想在 Play 中做类似的事情。

我天真地尝试的是创建一个名为的模板index.scala.js,然后调用Ok(views.js.index("Hello world")). 不幸的是,这不起作用。我得到一个错误object js is not a member of package views

在 Play 2 中是否有惯用的方法来实现这一点?

4

0 回答 0