2

我想从 Play!Framework 2 中的模板返回一个 .js 文件。

我是这样做的:

在我的视图文件夹中,我创建了一个模板文件:

initials.scala.js

包含类似的东西:

{
    'data': @Model.find.findList()
}

然后,在我的控制器中:

public static Result initials() {
    return ok(views.js.initials.render());
}

这对我来说非常简单,但我得到了这个错误:

错误:包views.js 不存在

我做错了什么?

如果我将 js 重命名为 txt(在控制器中的文件名和包调用中),一切正常。但是,如果我将其更改为 js,则会出现错误。

4

3 回答 3

3

您没有做错任何事情,Play 允许您仅使用 tu或视图扩展.html,因此您需要使用其中之一。.xml.txt

从技术的角度来看,您将使用哪一个并不重要,无论如何您需要将它从控制器作为 JavaScript 返回,即:

public static Result initials() {
    return ok(views.html.initials.render()).as("application/javascript");
}
于 2013-04-26T11:46:33.483 回答
0

你可以有一个scala.js文件,但你不调用它,views.js.initials.render()而是js.initials.render()

至少对于 Scala 它适用于 Play 2.2

于 2015-02-19T10:45:50.773 回答
0

这可以通过在您的路线定义中放置到特定资产的路线来实现。

IE。获取 /assets/javascripts/initials.js 控制器..initials()

于 2014-09-17T03:07:39.607 回答