2012-03-26 13 views
3

古いPlay! v1のテンプレート読み込みは非常に簡単でした。上記のユースケースは、Scalaでは、電子メールに使用するテンプレートをレンダリングしているPlayでテンプレートを読み込んでレンダリングする方法2.0?

val template = TemplateLoader.load(templateName) 
val body = template.render(templateBinding) 

:しかし、今、私は以下の方法と同様にScalaのテンプレートを使用することができる方法を理解するために途方に暮れてよ。

新しいScala APIには、テンプレートhttp://www.playframework.org/documentation/api/2.0/scala/index.html#play.api.templates.Htmlを扱うための同様のクラスがありますが、どのようにテンプレートを読み込みますか?私は弾丸を噛んでGroovyテンプレートをインポートするだけでいいですか?ありがとう!

答えて

6

テンプレートはコンパイルされたJavaクラスになりました。それらを「ロード」する必要はありません。

あなたがしようとしているように見えるのはタグです。この場合、このページを読むことをお勧めします:http://www.playframework.org/documentation/2.0/ScalaTemplates

各テンプレートは関数であり、html.Mails.emailtemplate(tags)で簡単に呼び出すことができ、render()メソッドを使用してテンプレートを構築することができます。テンプレートのテキストまたは本文のみが必要な場合は、html.Mails.emailtemplate(tags).bodyのような構文を使用することもできます。

Playメーラーのこのクラスでは、この質問に関連する特定のユースケースを見ることができます。 Gist:https://gist.github.com/2210788

+0

これが正しい場合は、2行ではなく1行で行うことができますか? 'val body = views.html.CustomTemplateFolder.emailMsg(arg1、arg2)'?それは気の利いたものだ。私があなたの答えを編集し、私が完了したときにいくつかのサンプルコードを提供してもらえれば幸いです。) – crockpotveggies

+0

私が思い出すのは、render()メソッドを生成することです。 src_managedの下のどこかで生成されたスカラクラスを見るのが最良です。あなたが編集しても大丈夫です。 –

+0

'def render()= apply()'というのは間違いありません。 – crockpotveggies

関連する問題