2011-05-13 3 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

신난다. 그게 효과가있어! 그러나이 때 리디렉션 된 URL에 statusCode = 301이 추가됩니다 ( – n00b

+0

). https://issues.apache.org/jira/browse/WW-3389 –

+0

괜찮습니다. org.apache.struts2.dispatcher.ServletActionRedirectResult를 서브 클래스 화하여 버그를 해결했습니다. protected 목록 getProhibitedResultParams() 메소드를 "statusCode"를 포함하도록 재정의했습니다. – n00b

0

이전의 대답은 나를 위해 작동하지 않았다. 나는 httpheader 결과와 그것을 해결 :

(301) /foo는