playframework2アプリでいくつかのテストを行っていますが、モデルフォルダーにオブジェクトを配置しないと、ビューでオブジェクトを使用できないことに気付きました。
たとえば、SimpleObjectクラスをパッケージ名simpleに入れたとします。
SimpleObject.class:
public class SimpleObject {
public SimpleObject(){}
public SimpleObject(String name){
this.name = name;
}
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
私のアプリケーションコントローラーでは、新しいSimpleObjectを使用してビューをレンダリングします。
public static Result doSomeAction() {
SimpleObject simpleObject = new SimpleObject("test");
return ok(test.render(simpleObject));
}
私のtest.scala.htmlでは:
@(simpleObject: SimpleObject)
@main("Here is the result:") {
@{simpleObject.getName()}
}
これにより、エラーが発生します。
not found: type SimpleObject
SimpleObjectをパッケージモデルに移動すると、コンパイルされて機能します。
他のアプリケーションでは、Elasticsearchモジュールを実装しました。そこで、ビューでループしたいIndexResultを受け取ります。SimpleObjectの場合と同じエラーが発生します。
ですから、ここでの私の質問は一種の建築です。これを処理する「プレイ2ウェイ」とは何ですか?ビューオブジェクトとビルダーを実装し、IndexResultオブジェクトをスローして、ビューオブジェクトを作成する必要がありますか?または、他のパッケージもスキャンするようにアプリに指示する方法はありますか?多分他の考え方がありますか?