我正在使用播放!2.2.0 用于开发 Web 应用程序。我想从服务器端动态生成一个 Javascript,它可以作为源包含在一个 HTML 模板中。
我已在以下链接上阅读了有关它的所有内容
- http://franzgranlund.wordpress.com/2012/03/29/play-framework-2-0-javascriptrouter-in-java/
- http://www.playframework.com/documentation/2.2.0/ScalaJavascriptRouting
- 将 Play!Framework2 javascript 渲染为模板?
请在下面找到在我的控制器中生成 Javascript 模板的方法 -
---> 应用程序.java
public static Result getScriptForPage(){
String generatedScript = "//Javascript code for the page//";
return ok(views.html.scriptPage.render(generatedScript));
}
public static Result javascriptRoutes(){
response().setContentType("text/javascript");
return ok(
Routes.javascriptRouter("jsRoutes",
routes.javascript.Application.getScriptForPage()
)
);
}
--->路线
GET /getScriptForPage controllers.Application.getScriptForPage()
GET /assets/javascripts/routes controllers.Application.javascriptRoutes()
---> scriptPage.scala.html
@(generatedScript : String)
@generatedScript
我有另一个 html 页面,我想在其中使用这个生成的脚本。差不多的东西——
<script src="@routes.Application.javascriptRoutes" type="text/javascript"></script>
<script type="text/javascript" src="UseGeneratedFileHere"></script>
或者
<script src="@routes.Application.javascriptRoutes" type="text/javascript"></script>
<script type="text/javascript">UseGeneratedScriptHere</script>
点击 /getScriptForPage 显示实际的 javascript 即“//页面的 Javascript 代码//”
此外,有没有办法从可以直接从 html 页面引用的控制器的 /assets 下动态生成 Javascript 文件?