Frage

Ich bin neuer Rahmen für die scala zu heben. Aus irgendeinem Grunde index.html liegt in dem Web-App-Verzeichnis, und wenn ich auf Anlegestelle beginnen, http: // localhost: 8080 / wird gut auf diese Datei index.html verweisen. Wenn ich jedoch eine login.html Datei im selben Ordner wie die index.html setzen, und dann gehen Sie http: // localhost . 8080 / login , Lift dient nicht die Datei

Wo muss ich die Dateien setzen, um sie registrieren, zu bekommen? Ich bin ein wenig verloren, weil nur das Verhalten sonst zur Arbeit für index.html und nichts scheint.

Dies ist, was passiert, wenn ich Quelle in Chrome anzuzeigen:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html> <body>The Requested URL /login was not found on this server</body> </html>  
War es hilfreich?

Lösung

Bitte beachten Sie die SiteMap Wiki-Seite: http://liftweb.assembla.com/wiki / show / liftweb / SiteMap

Der Grund für SiteMap ist eine Vereinigung von Menüerzeugung und Zugangskontrolle. Sie können auf Seiten mit Namen verweisen und wenn man sich in der Verzeichnishierarchie bewegen, mit SiteMap, die Links werden immer Arbeit. SiteMap stellt einen typsichere Mechanismus für die Abfrageparameter zu extrahieren und Pfadinformationen, so dass die aktuelle Seite die zugehörigen Objekte und die URL für eine Seite haben kann, indem man das Objekt an die Loc berechnet werden.

SiteMap kann wie sein ein wenig schweres Gewicht erscheinen, aber wenn du gehst, um eine Website zu erstellen, die unterschiedliche Zugriffskontrollregeln für verschiedene Seiten hat, SiteMap gibt Ihnen einen schönen, einheitlichen Mechanismus sowohl für die Präsentation und Sicherheit.

Wenn Sie nicht SiteMap verwenden möchten, entfernen Sie einfach das LiftRules.setSiteMap () Linie von Boot.scala und Aufzug wird jede Seite dienen.

Andere Tipps

Um eine Antwort auf Ihre letzte Bemerkung geben: Wenn Sie den Standard-Aufzug Urbild verwenden Lift ausprobieren: Hier wird die Sitemap, die ein Menü für Ihre Website zur Verfügung stellt. Dies ist in der bootstrap.liftweb.Boot.scala Klasse definiert. Standardmäßig eine Sitemap mit einem Menü steuert die Seiten, die Sie in Ihrer Anwendung zugreifen können. Ich bin nicht sicher, ob es eine einfache Möglichkeit, diese Funktionalität zu deaktivieren, so dass, wenn jemand weiß, bitte Kommentar. Wenn Sie dies gar nicht wollen, können Sie es deaktivieren, indem Sie die val entries = Menu(Loc("Home", List("index"), "Home")) :: Nil und LiftRules.setSiteMap(SiteMap(entries:_*)) in der Boot-Klasse zu entfernen. Auf diese Weise können Sie jede Seite zugreifen, dass Sie, indem Sie auf die URL direkt möchten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top