1. 修改struts.xml
<package name="struts"namespace="/struts" extends="struts-default">
<default-action-ref name="user_add"></default-action-ref>
<global-results>
<result name="struts">/Adminadd_success.jsp</result>
</global-results>
...
</package>
<package name="user" namespace="/user"extends="struts">
<action name="user_struts" class="action.StrutsAction">
<result name="success">/index.jsp</result>
</action>
</package>
<package name="user1"namespace="/user1" extends="struts-default">
<action name="user_struts">
<result type="chain">
<param name="actionName">login1</param>
<param name="namespace">/</param>
</result>
</action>
</package>
2. 修改struts2.xml
<action name="login1">
<result>/success.jsp</result>
</action>
3. 运行
启动tomcat
1) 访问: http://localhost:2000/Gao_struts2/user/user_add.action
页面显示:user addsuccess!
2) 访问http://localhost:2000/Gao_struts2/user1/user_struts.action
页面显示:login success!
4. 总结
1) default-action-ref用于访问的请求根据namespace找不到对应的action时就会访问该配置对应的默认action,多用于404页面。
2) global-results即action返回的string找不到对应的配置就会到global-results中找,找到就按global-results中配置的result返回响应,多用于成功,失败等通用result。
3) package中extends和java中继承的效果差不多,配置后通过该namespace可以访问extends对应的package中的所有的配置,且这两个package可以不在同一个struts的xml中配置。
4) 在result中配置param,则可以在一个package中访问其他package的action,且这两个package可以不在同一个struts的xml中配置。