zoukankan      html  css  js  c++  java
  • Struts2 全局结果集-全局result节点设置,package设置abstract=true的实现

    转自: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
     1 <?xml version="1.0" encoding="GBK"?>  
     2 <!-- 指定Struts 2配置文件的DTD信息 -->  
     3 <!DOCTYPE struts PUBLIC  
     4     "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"  
     5     "http://struts.apache.org/dtds/struts-2.1.7.dtd">  
     6     
     7   <!-- Struts 2配置文件的根元素 -->  
     8  <struts>
     9      <!-- 配置了系列常量 -->
    10       <constant name="struts.i18n.encoding" value="GBK"/>     
    11     <constant name="struts.devMode" value="true"/>   
    12     
    13     <package name="shop-default" abstract="true" extends="struts-default">
    14         <global-results>
    15             <!-- 错误页面 -->
    16             <result name="error">/show_error.jsp</result>
    17             <!-- 程序主页面 -->
    18             <result name="index" type="redirectAction">index</result>
    19             <!-- 后台管理主页面 -->
    20             <result name="manager">/main.jsp</result>
    21             <!--会员注册 -->
    22             <result name="reg">/WEB-INF/pages/user/customer_reg.jsp</result>
    23             <!--会员登录-->
    24             <result name="customerLogin">/WEB-INF/pages/user/customer_login.jsp</result>
    25             <!--管理员登录-->
    26             <result name="userLogin">/WEB-INF/pages/admin/user/user_login.jsp</result>
    27         </global-results>
    28         <global-exception-mappings>
    29             <exception-mapping result="error" exception="com.lyq.util.AppException"></exception-mapping>
    30         </global-exception-mappings>
    31     </package>
    32     
    33     
    34     <package name="xqh" extends="shop-default">
    35         <!-- 定义一个拦截器 -->
    36         <interceptors>
    37             <interceptor name="authority" class="com.xqh.interpector.LoginInterceptor">
    38             </interceptor>
    39             <interceptor-stack name="mydefault">
    40                 <interceptor-ref name="defaultStack"></interceptor-ref>
    41                 <interceptor-ref name="authority"></interceptor-ref>
    42             </interceptor-stack>
    43         </interceptors>
    44     
    45         <!-- 定义处理用户请求的Action,指定该Action的实现类-->
    46         <action name="registPro" class="com.xqh.action.RegistAction">
    47             <result name="error">/error.jsp</result>
    48             <result name="success">/welcome.jsp</result>
    49         </action>
    50         
    51         <action name="showPro" class="com.xqh.action.ShowAction">  
    52             <!-- 使用此拦截器 -->  
    53             <interceptor-ref name="mydefault" />
    54             <result name="login">/login.jsp</result>  
    55             <result name="success">/show.jsp</result>  
    56         </action>  
    57         
    58         <!-- 让用户直接访问该应用时列出所有视图页面 -->
    59         <action name="*">
    60             <result>/{1}.jsp</result>
    61         </action>
    62     </package>  
    63  </struts>
  • 相关阅读:
    【php学习之路】微信公众帐号
    【php学习之路】php基础语法
    WCF全局异常处理
    【原创】【2015最新】微信公众平台开发手把手入门之一:缘起微信公众号(PHP,MYSQL, BAE)
    【原创】【2015最新】微信公众平台开发手把手入门之四:SVN和验证消息真实性(PHP,MYSQL, BAE)
    【原创】【2015最新】微信公众平台开发手把手入门之三:申请百度开放平台BAE云服务(PHP,MYSQL, BAE)
    【原创】【2015最新】微信公众平台开发手把手入门之二:开发者模式(PHP,MYSQL, BAE)
    微信公众号PHP简单开发流程
    angular+requirejs前端整合
    04、AngularJS的ng-bind、多个控制器和apply
  • 原文地址:https://www.cnblogs.com/sharpest/p/5810263.html
Copyright © 2011-2022 走看看