如何将渲染模板输出写入文件?

时间:2015-01-02 15:49:51

标签: scala twirl

我在非播放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()的返回类型为play.twirl.api.HtmlFormat.Appendable。如何将其转换为String,以便将其写入文件?

1 个答案:

答案 0 :(得分:3)

play.twirl.api.HtmlFormat.Appendable只是play.twirl.api.Html的类型别名,其toString方法。

views.html.hello().toString