4

嗨,我在 Lift 和 URL 重写方面遇到了一些问题。我写了一个简单的重写规则:

LiftRules.rewrite.append {
  case RewriteRequest(
    ParsePath(List("user", userID), _, _, _), _, _) => {
        println(userID)
        RewriteResponse(List("viewUser"), Map("userID" -> urlDecode(userID)))
    }
}

因此,当我输入http://localhost:8080/user/brian时,我希望调用我放在 webroot 目录中的 viewUser.html 文件。viewUser.html 的标记很简单:

<lift:surround with="default" at="content">
    <p>ViewUser</p>
</lift:surround>

但是我没有看到 viewUser 我得到一个错误:

在此服务器上未找到请求的 URL /user/brian

此外,如果我手动输入 viewUser 的 URL:http://localhost:8080/user/brian我会得到同样的错误。

我对此一无所知,我确实发现了通过 SiteMap 系统发生的类似错误。

通过添加 viewUser.html 并添加单个重写代码块,我已经用一个干净签出的 lift-archetype-blank 项目尝试了这个。

4

1 回答 1

2

确保您已将“viewUser”添加到站点地图。如果不这样做,Lift 不知道在哪里可以找到页面。

于 2009-08-02T21:33:47.377 回答