ディスパッチャーがクエリー・ストリングを使用して呼び出すアクションをマップするように、ストラット2を構成する方法はありますか?パス名ではなくクエリー・ストリングに基づいたstruts2アクションのマッピング
たとえば、以下のリンクでは、アクションfooではなく、アクションblahを呼び出すとします。
http://domain:port/myapp/foo.do?someparameter=blah
感謝。
ディスパッチャーがクエリー・ストリングを使用して呼び出すアクションをマップするように、ストラット2を構成する方法はありますか?パス名ではなくクエリー・ストリングに基づいたstruts2アクションのマッピング
たとえば、以下のリンクでは、アクションfooではなく、アクションblahを呼び出すとします。
http://domain:port/myapp/foo.do?someparameter=blah
感謝。
デフォルトのマッパーでは可能ではないと思います。
それは悪いがsomeparameter
の値、および鎖のいずれかをチェックしたり、blah
アクションにリダイレクトごfoo
アクション用に設定されているInterceptor
を作成することではないでしょう。
+1ジェレミー:あなただけのためにクエリ文字列
の値に基づいて特定のアクションにリクエストをディスパッチしますちょっとディスパッチャアクションを作成するアクションを作成したくない場合は、他の魔法を行うことができます例:
Foo action execute();
if (querystring="test") {
setActionName("Test");
return "next";
}
これらの制御文字列に基づいて、特定の操作に要求を転送できます。
<result name="next" type="redirectAction">${actionName}</result>
ありがとうございました。デフォルトのマッパーでは不可能なので、私は自分のマッパーを作成して、DefaultActionMapperを拡張しようとします。私はあなたにすべてのマークを与えるだろうが、私の評判はまだ15未満です:( –