嗨,我在使用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的网址:http://localhost:8080/user/brian我收到同样的错误。
我对这个问题缺乏想法,我确实发现了一个类似的error,它通过SiteMap系统发生。
我通过添加viewUser.html并添加了一大块重写代码,尝试了一个干净利落的lift-archetype-blank项目。
答案 0 :(得分:2)
确保您已将“viewUser”添加到站点地图中。没有这样做,Lift不知道在哪里找到页面。