strtus2中的defaultactionref无效的解决方法

strtus2中的default-action-ref的作用是我们在浏览器中访问错误的地址时可以跳转到自己设置的错误页面,而不是令人尴尬的系统错误页面,这个系统错误很常见,就是提示在namespace下没有****,遇到错误第一反应是:百度,哈哈,百度的答案参差不齐,很多没有作用,或者是作者自己根本没有实践臆想出来的解决方法。

百度多种解决方法之后,终于找到了解决方法,感觉写的不错,也确实解决了问题, 大家可以参考一下原作者的思想, http://rguess.iteye.com/blog/1884807  

struts在使用通配符的action下不起作用,所以解决的办法就是自己再写一个action ,然后再这个action中的result中写入错误时想要指向的地址,在 default-action-ref 中使用这个action的名字

 <default-action-ref name="a"></default-action-ref>
 <action name="a">
     <result>index.jsp</result>
 </action>
另外default-action-ref 的作用范围是它所在的namespace的范围,如 : namespace=“/”在地址栏中输入错误地址“loaclhost:8080/1111”,页面是可以跳转到index.jsp,但是如果超出了范围如:“localhost:8080/www/1111”,此时页面将会报错。


原文地址:https://www.cnblogs.com/wudb/p/7464524.html