struts2中的default-action-ref一般用於,在請求無效或錯誤時將請求指引到錯誤頁面。我這次的用法是在請求首頁之前先發送請求到后台,進行數據獲取后再轉至首頁顯示,但是出了一個問題,default-action-ref無效了,原因是它無法識別采用通配符的方法,例:請求為helloworld,那么必須有一個對應<action name="helloworld">,而<action name="hello*">則有可能不行。在這提供一個解決辦法:再寫一個action,接收default-action-ref,然后用這個action對請求進行轉發。
1 <default-action-ref name="defaultAction"></default-action-ref>
1 <action name="defaultAction"> 2 <result type="redirect">helloworld</result> 3 </action>
此外,defalut-action-ref是基於包的namespace生效。如:namespace="/",那么localhost:8080/123是可以被接收的;而localhost:8080/name/123則不行。