这是我目前遇到的另一个与 Scala/Lift 相关的问题。
我在http://simply.liftweb.net/index-Chapter-2.html#toc-Chapter-2上关注了无处不在的聊天应用程序示例,一切都已启动并运行。现在,我只想嵌入另一个 HTML 页面而不是index.html
, in Boot.scala
SiteMap
,我看到的只是以下消息:
在此服务器上找不到请求的 URL /
因此,为了向您展示我的努力,我将向您展示以下SiteMap
定义Boot.scala
:
// Build SiteMap
def sitemap() = SiteMap(
Menu("Home") / "index" :: // Simple menu form
// Menu with special Link
Menu(Loc("Static", Link(List("static"), true, "/static/index"),
"Static Content")) ::
// Menu entries for the User management stuff
User.sitemap :_*)
LiftRules.setSiteMapFunc(sitemap)
位于文件夹index.html
下webapp
,因此其路径看起来像webapp/index.html
. 以下是 的内容index.html
:
<div id="main" class="lift:surround?with=default;at=content">
<!-- the behavior of the div -->
<div class="lift:comet?type=Chat">
Some chat messages
<ul>
<li>A message</li>
<li class="clearable">Another message</li>
<li class="clearable">A third message</li>
</ul>
</div>
<div>
<form class="lift:form.ajax">
<input class="lift:ChatIn" id="chat_in"/>
<input type="submit" value="Say Something"/>
</form>
</div>
所有这些都是在聊天应用程序示例中完成的。现在我只想显示一个简单的login.html
文件而不是index.html
,所以我把它放在webapp/login.html
. 这个文件的内容在这里:
<div id="loginContainer" class="lift:surround?with=default;at=content">
<!-- the behavior of the div -->
<div>
<form class="lift:form.ajax">
<div class="loginInputWrapper">
<input type="text" class="txtLogin lift:LogIn" id="loginName"/>
</div>
<div class="loginInputWrapper">
<input type="password" class="pwLogin lift:LogIn" />
</div>
<div class="buttonWrapper loginButtonWrapper">
<button id="loginButton" class="hiddenButton qsbfont" type="submit">Login</button>
</div>
</form>
</div>
我修改了SiteMap
这样的定义:
Menu("Home") / "login" :: // Simple menu form
在我看来,这一切似乎应该像index.html
在启动时一样顺利运行,但是如果我想访问该站点,我会一遍又一遍地看到提到的消息。有没有人知道这里发生了什么并且可以给我一个提示/解决方案?
如果感兴趣:我在 Intellij IDEA Enterprise 中在 Tomcat 7 上运行 Scala WAR(试用许可证)