Scala Lift-Url重新写入文件夹中的页面
我有以下重写规则:Scala Lift-Url重新写入文件夹中的页面,scala,url-rewriting,lift,Scala,Url Rewriting,Lift,我有以下重写规则: LiftRules.statelessRewrite.prepend(NamedPF("AppRewrite") { case RewriteRequest( ParsePath(List("room", room, user), _, _, _), _, _) => RewriteResponse(List("room"), Map("room" -
LiftRules.statelessRewrite.prepend(NamedPF("AppRewrite") {
case RewriteRequest(
ParsePath(List("room", room, user), _, _, _), _, _) =>
RewriteResponse(List("room"),
Map("room" -> room, "user" -> user)
)
})
这让我可以
http://xx.xx.xx.xx/room/[room_id]/[user_id]
加载的html页面位于webapp根目录中(例如webapp/room.html)
我想做的是在房间后面添加另一个参数,这样我就可以
http://xx.xx.xx.xx/room/[page_id]/[room_id]/[user_id]
但它不是在webapp根目录中加载room.html,而是使用名为pages的子文件夹中的page_id加载页面
所以我可以
http://xx.xx.xx.xx/room/join/[room_id]/[user_id]
哪个会加载
webapp/pages/room/join.html
提前感谢您的帮助,非常感谢:)如果您只是询问如何将
/room/join/[room\u id]/[user\u id]
重写为/pages/room/join.html
,那么只需遵循您开始时使用的相同URL重写模式即可
... // (in the same statlessRewrite.prepend block)
case RewriteRequest(
ParsePath( List("room", "join", roomId, userId), _, _, _), _, _) =>
RewriteResponse(List("pages", "room", "join"),
Map("roomId" -> roomId, "userId" -> userId)
)
您可能还需要将“/pages/room/join.html”添加到您的网站地图中。您只需在重写中添加一个新案例即可:
LiftRules.statelessRewrite.prepend(NamedPF("AppRewrite") {
case RewriteRequest(
ParsePath(List("room", room, user), _, _, _), _, _) =>
RewriteResponse(List("room"),
Map("room" -> room, "user" -> user)
)
case RewriteRequest(
ParsePath(List("room", page, room, user), _, _, _), _, _) =>
RewriteResponse(List("pages", "room", page),
Map("room" -> room, "user" -> user)
)
})