如何将呈现的模板输出写入文件?

How to write rendered template output to file?

我在非播放 sbt 项目中使用 Twirl,并定义了一个模板:

hello.scala.html

<h1>Welcome hello world</h1>

它生成一个包含以下代码的 Scala 文件:

package html

import play.twirl.api._
import play.twirl.api.TemplateMagic._

import io.github.freewind.feverblog._

/**/
object hello extends BaseScalaTemplate[play.twirl.api.HtmlFormat.Appendable,Format[play.twirl.api.HtmlFormat.Appendable]](play.twirl.api.HtmlFormat) with play.twirl.api.Template0[play.twirl.api.HtmlFormat.Appendable] {

  /**/
  def apply():play.twirl.api.HtmlFormat.Appendable = {
      _display_ {
        Seq[Any](format.raw/*1.1*/("""<h1>Welcome hello world</h1>"""))
      }
  }

  def render(): play.twirl.api.HtmlFormat.Appendable = apply()

  def f:(() => play.twirl.api.HtmlFormat.Appendable) = () => apply()

  def ref: this.type = this
}

render()apply()的return类型是play.twirl.api.HtmlFormat.Appendable。如何将其转换为字符串以便将其写入文件?

play.twirl.api.HtmlFormat.Appendable 只是 play.twirl.api.Html 的类型别名,它有一个 toString 方法。

views.html.hello().toString