2011-05-13 329 views

回答

2

ServletRedirectResult有一个statusCode应该工作。尝试在您的重定向结果上设置statusCode参数。如果您使用的约定插件,是这样的:

@Result(name="success", location="/foo", type="redirect", params={"statusCode", "301"}) 

还是老风格:

<result name="success" type="redirect"> 
    <param name="location">/foo</param> 
    <param name="statusCode">301</param> 
</result> 
+0

真棒。这样可行!但是,当我这样做时,statusCode = 301被附加到重定向的URL上=( – n00b 2011-05-13 23:57:11

+0

它可能与此有关:https://issues.apache.org/jira/browse/WW-3389 – 2011-05-14 00:41:59

+0

好吧,我能够得到通过继承org.apache.struts2.dispatcher.ServletActionRedirectResult来覆盖bug。我已经重写了protected List的方法 getProhibitedResultParams()包含“statusCode”。 – n00b 2011-05-14 00:54:40

0

以前的答案并没有为我工作。我用的HTTPHeader结果解决了这个问题:

/富