2011-07-22 2 views

答えて

3
get("/foo") { 
    servletContext.getRequestDispatcher("/bar").forward(request, response) 
} 
1

のget()メソッドは(POSTに似た、ら)のように定義されます。

def get(transformers : org.scalatra.RouteTransformer*)(action : => scala.Any) : org.scalatra.Route 

は、あなたが内部リダイレクトで何を意味するかに依存し、私はあなただけ別のルートのアクションを実行したいと推定。あなたはできることのいくつかの選択肢があります。これは私のために働いているようだ:

val canonicalEndpoint = get("/first/route") { 
    //do things in here  
} 

次に、あなたがその後に行うことができます:

get("/second/route")(canonicalEndpoint.action) 

をそして、私はあなたが所望の応答を得ると思います。

私はget()のRouteレスポンス全体を保存するのが好きです。ルーティングでscalatraのurl()関数を使用することもできます。

関連する問題