版权声明:转载请注明出处,谢谢 https://blog.csdn.net/roccreed/article/details/18048219
1. 在Struts.xml中配置一个默认的action则可以拦截处理一些意外的访问。配置方法如下
<!-- 配置一个默认的Action,默认Action为default_action -->
<default-action-ref name="default_action"/>
<action name="default_action" class="com.fang.login.action.LoginAction"
method="defaultAction">
<result name="error">/error.jsp</result>
</action>
配置的位置在package内,action外。
2.利用Action的method字段,是可以使用同一个Action处理类来处理不同的action
<action name="login" class="com.fang.login.action.LoginAction"
method="login">
<result name="error">/error.jsp</result>
<!--返回值是有类型的,默认为dispatcher -->
<result name="success" type="redirectAction">getBooks.action</result>
</action>
这里的action"login"和上面的"default_action"的处理类都是com.fang.login.action.LoginAction,处理的方法不是execute了,而是method属性指定的值。
3.result的返回属性可以配置type,默认的type为dispatcher,相当于forward,这时候不能转发给另一个action,要转发给另一个action,则需要设置成redirectAction
4.forward和redirect的区别
foward:前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;
redirect:后者则是完全的转换,浏览器会得到跳转的地址,并重新发送请求连接。请求参数肯定都丢失了