@Withでマークしたコントローラーがあります
@With(InitPages.class)
public class Application extends Controller {
public static Result index() {
return ok(mainpage.render());
//return ok(index.render("Your new application is ready."));
}
}
この InitPages クラスは次のことを行います。
public class InitPages extends Action.Simple {
public Result call(Http.Context ctx) throws Throwable {
List<CustomPage> pages = CustomPage.find.all();
ctx.args.put("pages", pages);
Logger.info("Calling action for " + ctx);
return delegate.call(ctx);
}
}
「pages」変数をscalaテンプレートに入れたいのですが、正しい方法は何ですか? Play フレームワークのドキュメントでは、オブジェクトをリクエスト マップに配置するために、このように行う必要があると説明していますが、scala テンプレートに表示するにはどうすればよいでしょうか?
これのさまざまなバージョンを試しました:
@for(page <- request.pages) {
<li class="parent"> <a href="#sds"> @page.title </a> </li>
}
と
@for(page <- pages) {
<li class="parent"> <a href="#sds"> @page.title </a> </li>
}
しかし運が悪い http://www.playframework.org/documentation/2.0/JavaActionsComposition