2012-10-11 5 views
5

Ich habe gerade angefangen zu versuchen, mit dem Play-Framework zu arbeiten und habe versucht, diese Standardanwendung zu verstehen, die Sie beim Erstellen eines neuen Projekts bekommen.Die Seite "Willkommen bei Play 2.0" verstehen

So weit wie ich verstehe, beim Laden der localhost-Seite, kommt eine http get Anfrage und wird an die Application.index()-Methode wegen der Spezifikation in der Route-Datei gerichtet? In der index() Methode wird viel HTML-Code erzeugt und in einem Result-Objekt zurückgegeben und an die index.scala.html-Datei übergeben, die es an die main.scala.html übergibt, wo es mit mehr HTML umgeben ist.

nun ein paar Dinge sind mir unklar:

  • in Application.java dort diese Zeile return ok(index.render("Hello World!")); Index views.html.* gehört; Aber wo ist dieses Paket? Ich kann es nicht in der API finden :(

  • warum kann ich die index.scala.html Datei nicht umbenennen Ist der Name eine Konvention

  • in der index.scala.html Datei selbst:? Was @play20.welcome(message, style = "Java") tut dies die immer Website „Welcome to Play 2.0“ und wieder - ich kann nicht in der Dokumentation/API-Eintrag für den PLAY20 Sache finden :(

ich hoffe, jemand kann mir helfen, einen Überblick, wie ich zu bekommen Bin im Moment wirklich verwirrt .. ^^ Ich habe viel Java gemacht, aber überhaupt keine Webprogrammierung, die Vor diesem Hintergrund ist die Mischung der verschiedenen Technologien und Sprachen im Moment ziemlich seltsam!

Antwort

5

In der TodoList example ist der Standortstamm GET / der Methode Application.index() zugeordnet, so dass diese Methode den HTML-Code erstellt, den Sie sehen.

Alles, was der Controller tut, passiert in dieser Zeile: return ok(index.render("Hello World!"));. Im Grunde ruft es einige Vorlagen auf, die HTML generieren und die Ausgabe zurückgeben.

  • return ok(...) wird verwendet, um eine erfolgreiche Anforderung, um anzuzeigen, Return-Code 200.
  • index.render(...) gibt die gerenderte HTML-Ausgabe einer Vorlage mit dem Namen index. Das hier verwendete Paket ist views.html.*, bezieht sich aber tatsächlich auf views/index.scala.html. So ist der index Teil keine Konvention, Sie können diesen Teil umbenennen, wie Sie möchten. Die Vorlage muss kompiliert werden, bevor sie wie eine Java-Klasse verwendet werden kann. Daher unterscheiden sich die Paketnamen. Das Framework kümmert sich darum.
  • "Hello World!" ist das Argument, wie angegeben als Nachricht Parameter in der ersten Zeile von index.scala.html
  • @play20.welcome(...) nur eine andere Vorlage nennt, ein welcome page, die im Rahmen enthalten ist. Es ist kein Gegenstand zu ändern - es ist nur statische Seite, nach dem Entfernen dieser Linie aus der Ansicht können Sie jeden HTML-Code, den Sie wollen, setzen.
+0

danke! :) .. speziell für den Link zur Begrüßungsseite auf GIT! – chris