Home > しらべる > SAStrutsでクエリ文字列を取得する方法

SAStrutsでクエリ文字列を取得する方法

  • Posted by: memorycraft
  • 2008年12月20日 07:33
  • しらべる

SEOとか絡んだりすると、GETでパラメータを渡したりすることがあって、そのときにqueryStringをそのまま使用したいときがあります。そんなときのメモ。

SAStrutsでは、RoutingFilterによって、リクエストパラメータがActionのプロパティにセットされたあと、HttpServletRequestからはqueryStringは見えなくなってしまうようです。

その場合、requestScopeというMapオブジェクトからqueryStringを参照することで解決できました。

Actionクラスのプロパティとして、requestScopeをインジェクションさせます。

//こうするだけで、勝手にセットされます。
public Map requestScope;

queryStringを取り出すには以下のようにします。

query = (String)requestScope.get("javax.servlet.forward.query_string");

たとえば、http://example.com/sample?bar=foo&hoge=moge
というURLでは、bar=foo&hoge=moge という文字列が取得できます。

以上です。

Trackbacks:0

TrackBack URL for this entry
http://www.memorycraft.jp/mt-tb.cgi/92
Listed below are links to weblogs that reference
SAStrutsでクエリ文字列を取得する方法 from メモリークラフト

Comments:0

Comment Form

Home > しらべる > SAStrutsでクエリ文字列を取得する方法

ページの先頭へ戻る