有没有办法配置struts 2,以便调度程序使用查询字符串映射要调用的操作?
例如,在下面的链接中,我想调用动作blah,而不是动作foo。
http://domain:port/myapp/foo.do?someparameter=blah
感谢。
答案 0 :(得分:4)
我认为任何默认的映射器都不可能。
创建为Interceptor
操作配置的foo
,检查someparameter
的值,并链接或重定向到您的{{1},这并不是一件坏事。行动。
答案 1 :(得分:2)
+1 Jeremy:如果您不想创建一个动作,只需创建一个有效的调度程序操作,根据查询字符串的值将您的请求分派给某个操作
例如
Foo action execute();
if (querystring="test") {
setActionName("Test");
return "next";
}
根据这些控制字符串,您可以将请求转发给某个操作。
<result name="next" type="redirectAction">${actionName}</result>