私が高く評価している Play 2.0 フレームワークの機能は、静的にコンパイルされたビューです。適切な数の正しい型指定された引数を指定せずにコントローラーがビューをレンダリングすると、コンパイル エラーがスローされます。controller<>view の不一致は、アプリケーションを実行してテストする必要がなく、代わりにコンパイル時に表示されるため、保守性が大幅に向上します。
ただし、標準の Play 2.0 ビュー テンプレートは言語として Scala と組み合わせたプレーンな HTML を使用します。私は Scalate を使用したいので、Scala をあまり冗長でない Scaml または Jade テンプレート言語と組み合わせることができます。しかし、Scalate を使用して実行時にビューをコンパイルしたくありません。これは、前述の静的にコンパイルされたビューの利点が失われるためです。
したがって、他の場所でxsbt-scalate-generator
説明されているように、 Jade ビューの静的コンパイルを実装しようとしました。ただし、これは中途半端に過ぎません。プラグインを正しく構成すると、対応するファイルが生成されますが、通常の Play 2.0 ビューとは異なる名前とパッケージが付けられます。という名前のデフォルトの Play 2.0 ビューは、パッケージ内のファイルにコンパイルされます。ただし、という名前の Jade ビューは、デフォルト (空白) パッケージにファイルを作成します。このクラスはインポート可能ではなく、Java Play 2.0 コントローラーでは使用できません。.class
index.scala.html
index.class
views.html
index.jade
$_scalate_$default_jade.class
Scalate ビューのクラス ファイルをreturn ok(views.html.index.render(args));
、コントローラに書き込むだけで生成するにはどうすればよいですか?
(生成されたクラスはrender()
少なくとも名前付きのメソッドを提供しているようです)