0

从我的 play20 应用程序中,我需要生成一个包含所有外部 .css/.js/等的 HTML 文件。

要生成 HTML 文件,我使用 views.html.MyView(Parameter).toString()

但我需要更换:

<link rel="stylesheet" href="@routes.Assets.at("stylesheets/bootstrap.css")">

<script type="text/javascript" charset="utf-8"> 
  @icludeTextFrom(routes.Assets.at("stylesheets/bootstrap.css"))
  This function should read the bootstrap.css file and embed it's content here.
</script>

Play 2.0 中是否有一些功能可以嵌入其他文件,还是我必须手动复制文件的内容?

谢谢费边

4

2 回答 2

1

是的,有以下功能:

<link rel="stylesheet" href="http://somedomain.tld/somescript.js">
<script type="text/javascript" charset="utf-8"> 
    Bootstrap code
</script>

换句话说:使用src='@routes...'不是强制性的,它只是一个助手,你也可以用静态文件替换。您还可以将任何您想要的内容添加到您的视图中,因为这是您的视图。

于 2012-08-17T12:21:29.017 回答
1

我现在添加了一个小函数,它将添加外部文件的内容。

@embed(what:String) = @{
  import java.io.File
  scala.io.Source.fromFile(new File(".").getCanonicalPath() + "/public/" + what).mkString("")
}

像这样使用:

<style type="text/css">
  @embed("stylesheets/bootstrap.min.css")
 </style>
于 2012-08-20T11:22:41.097 回答