到目前为止,我还不能 100% 确定你是如何实现它的,但这就是我想出的。
你可以只写你自己的包含助手。将以下内容保存Helpers.scala在您的视图文件夹中的文件中。解释在代码的注释中。
package views.html.helper
object include {
  import play.api.templates.Html
  import play.api.Play
  import play.api.Play.current
  import play.api.i18n._
  // The default is to look in the public dir, but you can change it if necessary
  def apply(filePath: String, rootDir: String = "public")(implicit lang: Lang): Html = {
    // Split filePath at name and suffix to insert the language in between them
    val (fileName, suffix) = filePath.splitAt(filePath.lastIndexOf("."))
    // Retrieve the file with the current language, or as a fallback, without any suffix
    val maybeFile =
      Play.getExistingFile(rootDir + "/" + fileName + "_" + lang.language + suffix).
      orElse(Play.getExistingFile(rootDir + "/" + filePath))
    // Read the file's content and wrap it in HTML or return an error message
    maybeFile map { file =>
      val content = scala.io.Source.fromFile(file).mkString
      Html(content)
    } getOrElse Html("File Not Found")
  }
}
现在在你的imprint.scala.html你可以这样称呼它:
@()(implicit lang: Lang)
@import helper._
@include("static/imprint.html")