【发布时间】:2016-04-05 18:00:28
【问题描述】:
我尝试在 Mac 中使用 Play Framework 2.4 和 JDK8 启动应用程序,当我使用 ./activator new Project play-java 下载基础时,模板代码包含下一个:
项目/app/controlles/Application.java
package controllers;
import play.*;
import play.mvc.*;
import views.html.*;
public class Application extends Controller {
public Result index() {
return ok(index.render("Your new application is ready."));
}
}
但是当我更换这部分时:
public static Result index() {...
将“静态”添加到 index()
我收到此错误
Compilation error
value index is not a member of controllers.Application
.../conf/routes:6
4 # ~~~~
5 # Home page
6 GET / controllers.Application.index()
我不知道为什么,因为在所有示例中,结果都使用静态
【问题讨论】:
-
你知道
static在OOP语言中的含义吗?显然基类的index成员(字段,而不是方法)是实例成员,因此不能静态访问。 -
@Kryptos:你想说什么? index() 在此处不以任何方式访问,无论是静态的还是非静态的。原因是 Play 从 2.4 版本开始切换到非静态操作方法。
-
@Kris,你把
index误认为index()。 -
@Kryptos:Controller中既没有索引也没有index()
标签: java playframework