struts xml中的result的类型、全局结果集、异常mapping、继承

例子:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
    <constant name="struts.devMode" value="true" />
    <package name="resultTypes" namespace="/r" extends="struts-default">
        <action name="r1">
            <result type="dispatcher">/r1.jsp</result><!-- 默认,转发,地址栏不变,请求一次服务器,只能是到视图 -->
        </action>
       
        <action name="r2">
            <result type="redirect">/r2.jsp</result><!-- 重定向,地址栏变,请求两次次服务器,只能是到视图 -->
        </action>
       
        <action name="r3">
            <result type="chain">r1</result><!-- 转发,访问本namespace的Action -->
        </action>
       
        <action name="r4">
            <result type="redirectAction">r2</result><!-- 访问本namespaceAction -->
        </action>

    </package>
</struts>


访问其他namespace:

<package name="public" extends="struts-default">

<!-- Chain creatAccount to login, using the default parameter -->

   <action name="createAccount" class="...">

      <result type="chain">login</result>

   </action>

   <action name="login" class="...">

      <!-- Chain to another namespace -->

      <result type="chain">

         <param name="actionName">dashboard</param>

         <param name="namespace">/secure</param>

      </result>

    </action>

</package>

<package name="secure" extends="struts-default" namespace="/secure">

<action name="dashboard" class="...">

<result>dashboard.jsp</result>

</action>

</package>

global-results可以让同一个namespace和继承该namespace的namespace共享其result的name,

extends(继承)一起,常用来定义大家都用的results。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
    <constant name="struts.devMode" value="true" />
    <package name="user" namespace="/user" extends="struts-default">
       
       
        <global-results>
            <result name="mainpage">/main.jsp</result>
        </global-results>

       
        <action name="index">
            <result>/index.jsp</result>
        </action>
       
        <action name="user" class="com.bjsxt.struts2.user.action.UserAction">
            <result>/user_success.jsp</result>
            <result name="error">/user_error.jsp</result>
        </action>       
    </package>
   
    <package name="admin" namespace="/admin" extends="user">
        <action name="admin" class="com.bjsxt.struts2.user.action.AdminAction">
            <result>/admin.jsp</result>
        </action>
    </package>
</struts>

 全局异常:

  <package name="bbs2009_default" extends="struts-default">
 
  <global-results>
      <result name="error">/error.jsp</result>
     </global-results>
     
   <global-exception-mappings>
      <exception-mapping result="error" exception="java.lang.Exception"></exception-mapping>
     </global-exception-mappings>
     
     
     
 </package>


Result类型(type)列举

  1. dispatcher
  2. redirect
  3. chain
  4. redirectAction
  5. freemarker
  6. httpheader
  7. stream
  8. velocity
  9. xslt
  10. plaintext
  11. tiles
原文地址:https://www.cnblogs.com/flying607/p/3469639.html