转自:https://blog.csdn.net/u013161278/article/details/41855273

如果我们所有的action均有可能跳到相同的页面,则不妨使用全局result。为了方便引用我们专门建立一个package来存放公共的result。在会用到个全局的跳转时,只需要把继承自这个公共的package即可。

建立公共包,代码如下:

<package name="pubResult" extends="struts-default" abstract="true">

<global-results>

<result name="error">/error.jsp</result>

</global-results>

</package>

由于它下面没的action配置,所以我们可以像默认的struts-default 包一样,声明abstract=true,这样声明表示此packgage下不会有action,它一般是用来让别的package继承。随后再在要用到 全局result中引用这个公共的package。代码如下:

<package name="testGlobal" extends="pubResult" >

<action name="error" class="com.asm.ErrorAction"></action>

<action name="error2" class="com.asm.Error2Action"></action>

</package>这样操作相当于把全局的result加到了此package下的所有action中去。

 
 
struts.xml
 <?xml version="1.0" encoding="GBK"?>
<!-- 指定Struts 2配置文件的DTD信息 -->
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
"http://struts.apache.org/dtds/struts-2.1.7.dtd"> <!-- Struts 2配置文件的根元素 -->
<struts>
<!-- 配置了系列常量 -->
<constant name="struts.i18n.encoding" value="GBK"/>
<constant name="struts.devMode" value="true"/> <package name="shop-default" abstract="true" extends="struts-default">
<global-results>
<!-- 错误页面 -->
<result name="error">/show_error.jsp</result>
<!-- 程序主页面 -->
<result name="index" type="redirectAction">index</result>
<!-- 后台管理主页面 -->
<result name="manager">/main.jsp</result>
<!--会员注册 -->
<result name="reg">/WEB-INF/pages/user/customer_reg.jsp</result>
<!--会员登录-->
<result name="customerLogin">/WEB-INF/pages/user/customer_login.jsp</result>
<!--管理员登录-->
<result name="userLogin">/WEB-INF/pages/admin/user/user_login.jsp</result>
</global-results>
<global-exception-mappings>
<exception-mapping result="error" exception="com.lyq.util.AppException"></exception-mapping>
</global-exception-mappings>
</package> <package name="xqh" extends="shop-default">
<!-- 定义一个拦截器 -->
<interceptors>
<interceptor name="authority" class="com.xqh.interpector.LoginInterceptor">
</interceptor>
<interceptor-stack name="mydefault">
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="authority"></interceptor-ref>
</interceptor-stack>
</interceptors> <!-- 定义处理用户请求的Action,指定该Action的实现类-->
<action name="registPro" class="com.xqh.action.RegistAction">
<result name="error">/error.jsp</result>
<result name="success">/welcome.jsp</result>
</action> <action name="showPro" class="com.xqh.action.ShowAction">
<!-- 使用此拦截器 -->
<interceptor-ref name="mydefault" />
<result name="login">/login.jsp</result>
<result name="success">/show.jsp</result>
</action> <!-- 让用户直接访问该应用时列出所有视图页面 -->
<action name="*">
<result>/{1}.jsp</result>
</action>
</package>
</struts>

最新文章

  1. DNSmasq – 配置DNS和DHCP
  2. Python html.parser库学习小结
  3. 64位WIN7下安装MPICH2
  4. DIP依赖倒置原则
  5. zedboard如何从PL端控制DDR读写(五)
  6. [cocos2d-x3.0]Xcode 升级到5.1后,cocos2d-x3.0 编译64bit出错解决方案
  7. java性能缓慢
  8. __weak如何实现目标值自己主动设置nil的
  9. Java 微信登录授权后获取微信用户信息昵称乱码问题解决
  10. ACM 饭卡
  11. WPF 自定义 ImageButton
  12. java频繁new对象的优化方案
  13. 10个最佳Node.js企业应用案例:从Uber到LinkedIn
  14. Linux学习笔记 11
  15. ActiveMQ使用介绍及实例
  16. AWS Redshift typical error and potential root cause:
  17. JS实现各种复制到剪贴板
  18. [leetcode]Best Time to Buy and Sell Stock III @ Python
  19. SpringMvc4中获取request、response对象的方法
  20. [cdqzds] Challenge4

热门文章

  1. 将本地jar包制作成maven依赖
  2. Python DB API 连接数据库
  3. QMouseEvent 的坐标__Win
  4. shitf+tab
  5. uva 10453 dp/LCS变形
  6. HANA aggregate 数字聚合
  7. 【WPF】命令系统
  8. 条款36:绝对不要重新定义,继承而来的non-virtual函数
  9. BestCoder Round #18(hdu5105)Math Problem(高中数学)
  10. javascript.history.go();