gpt4 book ai didi

playframework - 如何访问scala模板中的请求对象

转载 作者:行者123 更新时间:2023-12-04 06:14:50 25 4
gpt4 key购买 nike

我有一个用@With 标记的 Controller

@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 Framework 在其文档中描述它应该像这样完成,因此将对象放入请求映射中,但是我如何在 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

最佳答案

我没有用过 Play 2.0 的 Java 版本,只用过 Scala,但我觉得有几个地方你可能有错误(我可能是错的):

  • 通常请求对象(除非你以某种方式扩展它,如果是,请附上代码),没有“页面”成员。您可能想调用方法 get("pages")
  • Pages 已添加到 Context,但您尝试从请求中检索它。它们是等价的吗?您是否以某种方式复制了数据?或者你需要做的是访问Response对象?
  • 关于playframework - 如何访问scala模板中的请求对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10342054/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com