1

これが私が今立ち往生している別のScala/Lift関連の質問です。

http://simply.liftweb.net/index-Chapter-2.html#toc-Chapter-2にあるユビキタスチャットアプリの例に従って、すべてが稼働しています。index.htmlここで、の代わりに別のHTMLページを埋め込みたいだけです。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ます。内容は次のとおりです。webappwebapp/index.htmlindex.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 IDEAEnterprise内からTomcat7でScalaWARを実行しています(トライアルライセンス)

4

1 に答える 1

0

index.html/が要求された場合に表示されるデフォルトのページです。なぜあなたはそれを変えたいのですか?名前を変更login.htmlするindex.htmlか、URL書き換えを使用します。ただし、最後のオプションは、ソースコードを読む人を混乱させるだけです。

エラーメッセージの理由は、あなたがリクエストしたこと/であり、(私は)に「インデックス」のエントリがないSiteMapため、リクエストの処理方法がわかりません。login.htmlあなたがデフォルトのページになりたかったことを知る方法はありません。

于 2012-10-23T11:27:07.880 に答える