![](/img/trans.png)
[英]how to create a reusable javascript web-app from my HTML CSS and JS files
[英]where do i put html files in my web-app folder for a lift project with maven?
我是Scala的Lift框架的新手。 由於某種原因,index.html駐留在web-app目錄中,當我啟動碼頭時, http:// localhost:8080 /會指向該index.html文件。 但是,如果我將login.html文件與index.html放在同一文件夾中,然后轉到http:// localhost:8080 / login ,Lift將不提供該文件。
我需要將文件放在哪里進行注冊? 我有點迷茫,因為該行為似乎只適用於index.html,而僅此而已。
當我在Chrome中查看源代碼時,會發生以下情況:
<!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>
請參閱SiteMap Wiki頁面: http : //liftweb.assembla.com/wiki/show/liftweb/SiteMap
SiteMap的原因是菜單生成和訪問控制的統一。 您可以按名稱引用頁面,如果您使用SiteMap在目錄層次結構中移動頁面,則鏈接將始終有效。 SiteMap提供了一種用於提取查詢參數和路徑信息的類型安全的機制,以便您的當前頁面可以具有關聯的對象,並且可以通過將該對象傳遞給Loc來計算頁面的URL。
SiteMap看起來似乎有些沉重,但是如果您要構建一個對不同頁面具有不同訪問控制規則的站點,SiteMap為您提供了一種很好的,統一的表示和安全機制。
如果您不想使用SiteMap,只需從Boot.scala中刪除LiftRules.setSiteMap()行,Lift即可提供任何頁面。
給出最后一條評論的答案:如果您使用默認的Lift原型來試用Lift:這將使用為您的站點提供菜單的SiteMap。 這是在bootstrap.liftweb.Boot.scala
類中定義的。 默認情況下,將站點地圖與菜單一起使用可控制您可以在應用程序中訪問的頁面。 我不確定是否有禁用該功能的簡便方法,因此如果有人知道,請發表評論。 如果根本不希望這樣做,則可以通過刪除val entries = Menu(Loc("Home", List("index"), "Home")) :: Nil
和LiftRules.setSiteMap(SiteMap(entries:_*))
val entries = Menu(Loc("Home", List("index"), "Home")) :: Nil
來禁用它LiftRules.setSiteMap(SiteMap(entries:_*))
。 這樣,您可以通過轉到URL直接訪問所需的任何頁面。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.