2012-02-10 7 views
1

内のページに再書き込み私は何をしようとしているWebアプリケーションのルート(例えばWebアプリケーション/ room.html)ScalaのリフトURLは、私は、次の再書き込みルールを持っているフォルダ

は部屋の後に別のパラメータを追加しているので、私は

を持つことができます

しかし、その代わりにWebアプリケーションのルートにroom.htmlをロードするのではなく、ページと呼ばれるサブフォルダにpage_idのを使用してページをロードします。

だから私はあなただけ/room/join/[room_id]/[user_id]への書き換えを行う方法を求めている場合ははるかに高く評価任意の助けを事前に

webapp/pages/room/join.html 

おかげで、:)

答えて

0

をロードし

http://xx.xx.xx.xx/room/join/[room_id]/[user_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」を追加する必要があります。

0

あなたは自分の書き換えに新しいケースを追加することができるはずです。

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) 
       ) 
}) 
関連する問題