1

playframeworkでリダイレクト機能をやりたいです。これまでのところ、ルートにこれがあります

GET     /redirect            com.test.redirect(redirecturl: String?="")

と私のコントローラ:

public static Result redirect(String redirecturl) { 
   return redirect(redirectURL); 
}

これはうまく機能していますが、セミコロン「;」を含む URL を渡すと問題が発生します。

私が行くなら

http:localhost:9000/redirect?redirecturl=http://www.google.com;testaftersemicolon

google.com にリダイレクトされますが、私のログでは、リダイレクト URL は「http://www.google.com」と等しく、セミコロンの後に停止します。

それを逃れる方法はありますか?または、プレイ内でカスタム ルーティングを行いますか?

4

1 に答える 1

1

ルートファイルでカスタム正規表現を使用することで、エスケープできるはずです。これは、ルーティングに関するドキュメントで説明されています。基本的に、次のようなものが機能するはずです。

GET     /redirect/$url<.+>            com.test.redirect(url: String?="")
于 2012-08-15T21:32:36.863 に答える