Próbuję uruchomić aplikację za pomocą Play Framework 2.4 z JDK8 na Macu, gdy pobierzę bazę za pomocą ./activator nowy Project play-java kod szablonu zawiera następujące:Play Framework 2.4 nie akceptuje "public static Result" dla kontrolerów
projektu/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."));
}
}
Ale kiedy wymienić tę część:
public static Result index() {...
dodając "statyczne" do indeksu()
otrzymuję ten błąd
Compilation error
value index is not a member of controllers.Application
.../conf/routes:6
4 # ~~~~
5 # Home page
6 GET / controllers.Application.index()
nie wiem dlaczego, ponieważ we wszystkich przykładach używane statyczne dla wyniku
wiesz co 'static'means w języku OOP?Podobno element "index" klasy bazowej (pole, nie metoda) jest członkiem instancji i dlatego nie można uzyskać do niego dostępu statycznie. – Kryptos
@Kryptos: Co chcesz powiedzieć? Funkcja index() nie jest tutaj dostępna w żaden sposób, statycznie lub niestatycznie. Powodem jest to, że Play przełączył się na metody akcji niestacjonarnych od wersji 2.4. – Kris
@ Chris, mylicie 'index' dla' index() '. – Kryptos