【问题标题】:Why is Play not finding the view?为什么 Play 找不到视图?
【发布时间】:2015-03-18 04:26:52
【问题描述】:

这是我的show() 方法UsersController

import views.html.*;

public static Result show(Long id)
{
  User user = User.findById(id);

  return ok(views.html.users.show.render(user));
}

但是,IntelliJ 将 show 标记为红色并且找不到符号。

我已经做了activator compile 并且是target 文件夹已经有对象show.template.scala

谁能帮我找出问题所在以及如何解决?

【问题讨论】:

  • 我假设项目通过activator compile编译成功。如果是这样,您是否尝试过使缓存无效?文件 -> 使缓存无效/重新启动...
  • @edi 仍然没有帮助。 Inteiilj 似乎识别出show 指的是views.html.users.show,但是当我使用Alt + Enter 自动完成时,它仍然将show 部分标记为红色。

标签: java model-view-controller view playframework playframework-2.0


【解决方案1】:

应该是这样的。注意返回类型。

  public static Result show(Long id) {
    User user = User.findById(id);
    return ok(views.html.users.show.render(user));
  }

还要确保将其添加到您的路由文件中,并确保 show.scala.html 文件位于“/views/users”文件夹中。

【讨论】:

  • 我看不出您的代码与我的代码有何不同。我在/views/users 文件夹中也有show.scala.html
  • 我明白了。我弄错了代码。我确实有返回类型为Result 而不是void。这是我的问题中的一个错字。但问题仍然存在。
【解决方案2】:

每次在 Eclipse 中创建新视图时,我都会遇到同样的问题。我的解决方案是用“play eclipse”刷新 eclipse 文件。在这种情况下,我认为您必须找到让想法识别文件的方法(也许是“激活器想法”?)

【讨论】:

  • 我这样做了,但没有帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-07
相关资源
最近更新 更多