0
点赞
收藏
分享

微信扫一扫

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

楠蛮鬼影 2022-02-25 阅读 54


例子:

<?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)列举



dispatcher redirect chain redirectAction freemarker httpheader stream velocity xslt plaintext tiles


举报

相关推荐

0 条评论