代码之家  ›  专栏  ›  技术社区  ›  egervari

我应该把HTML文件放在我的Web应用文件夹中,以便与Maven一起进行电梯项目?

  •  2
  • egervari  · 技术社区  · 16 年前

    我刚开始为斯卡拉设计框架。出于某种原因,index.html驻留在web app目录中,当我启动jetty时, http://localhost:8080/ 将指向index.html文件。但是,如果我将login.html文件与index.html放在同一文件夹中,然后转到 http://localhost:8080/login ,电梯不服务文件。

    我需要把文件放在哪里才能让它们注册?我有点迷路了,因为这种行为似乎只对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>  
    
    2 回复  |  直到 16 年前
        1
  •  5
  •   David Pollak    16 年前

    请参见网站地图wiki页面: http://liftweb.assembla.com/wiki/show/liftweb/SiteMap

    站点地图的原因是菜单生成和访问控制的统一。您可以按名称引用页面,如果在目录层次结构中移动页面,使用站点地图,链接将始终有效。Sitemap提供了一种类型安全机制,用于提取查询参数和路径信息,以便当前页面可以具有关联的对象,并且可以通过将对象传递到loc来计算页面的URL。

    站点地图看起来可能有点重,但是如果您要为不同的页面构建一个具有不同访问控制规则的站点,那么站点地图为您提供了一个很好的、统一的表示和安全机制。

    如果不想使用站点地图,只需从boot.scala中删除LiftRules.setSitemap()行,Lift将服务于任何页面。

        2
  •  1
  •   Arjan Blokzijl    16 年前

    要回答上一条评论:如果使用默认的提升原型尝试提升:这将使用为站点提供菜单的站点地图。这是在 bootstrap.liftweb.Boot.scala 班级。默认情况下,使用带有菜单的站点地图可以控制应用程序中可以访问的页面。我不确定是否有一个简单的方法来禁用这个功能,所以如果有人知道,请评论。 如果您根本不想这样做,可以通过删除 val entries = Menu(Loc("Home", List("index"), "Home")) :: Nil LiftRules.setSiteMap(SiteMap(entries:_*)) 在引导类中。这样,您就可以通过访问URL直接访问任何想要的页面。

    推荐文章