嗨,我在使用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项目。

有帮助吗?

解决方案

确保您已添加<!>“; viewUser <!>”;到站点地图。没有这样做,Lift不知道在哪里找到页面。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top