如果我有一个类似http://localhost/Test/edit/ {id}的网址,我希望将{id}转换为参数而不是URL路径部分。这是正确的方式来处理像Lift的RESTful URL吗?
是否通过创建一个带有RewriteRequest的菜单来实现它的最佳方式?因为我发现它有点样板,如果我有像这样的很多网址模式。
val menu = Menu(new Loc[Unit] {
override def name = "Test"
override def text = "Test"
override def link = (List ("Test"), true)
override def params = Nil
override def defaultValue = Full(())
def isTarget (path: ParsePath) = path match {
case ParsePath (List("Test", "edit", id), _, _, _) => true
case _ => false
}
override def rewrite = Full (NamedPF("Test") {
case RewriteRequest (path, _, _) if isTarget(path) =>
RewriteResponse(List("Test", "edit"),
Map("id" -> "1024")) ->()
})
})
问题是,如果我在webapp/Test下有一个名为edit.html的模板,这是我用来编辑项目的模板。 和我有类似下面的菜单实例: 菜单(LOC(“测试”,列表(“测试”) - >真,“测试”)) 它只会匹配的网址,如http://本地主机/测试/编辑,而不是像http:// localhost/Test/edit/1 – 2010-01-10 05:14:19