struts2-核心配置文件

版权声明: https://blog.csdn.net/qq_34866380/article/details/79721168

简单的struts.xml文件内容如下,这是struts2的核心配置文件

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

     <package name="test" namespace="/test" extends="struts-default">
           <action name="Test" >
             <result>/test.jsp</result> 
           </action>
           <action name="login" class="com.test.loginAction">
               <result name="success">/login.jsp</result>
               <result name="fail">/index.jsp</result>
           </action>

     </package>

    </struts>

< package>< /package>
name属性可以起任意内容,但一般与namespace有对应关系;
namespace属性必须以 “/”开头(代表当前应用根目录);
extends一般继承abstract=”true”package,这里的struts-default定义在struts-default.xml配置里;
package中没有action时且需要被继承时可以用abstract=”true”(也可不写,写了就不能加action)

< action>< /action>
name属性就是定义的action名;
class属性需要填写相关action类的全限定性类名(如果不写class则是com.opensymphony.xwork2.ActionSupport);
method属性中可自定义action执行方法(默认是execute

< result>< /result>
name属性为action方法执行后的返回值(默认不写为success);
type属性为result的后续行为(dispatcher(默认),redirectredirectActionchain

redirect两种写法:

<!-- <result type="redirect">/login.jsp?user=${user}&amp;password=${password}</result> -->
                     <result type="redirect">
                            <param name="Location">/login.jsp</param>
                            <param name="user">${user}</param>
                            <param name="password">${password}</param>
                     </result>

redirectAction

          <action name="action_1" class="com.sblov.action_1">
               <result type="redirectAction">
                    <param name="actionName">action_2</param>
                    <param name="user">${user}</param>
                    <param name="password">${password}</param>
               </result>
           </action>
           <action name="action_2" class="com.sblov.action_2">
                <result>/login.jsp</result>
           </action>

chain

           <action name="action_1" class="com.sblov.action_1">
                <result type="chain">action_2</result>
           </action>
           <action name="action_2" class="com.sblov.action_2">
                <result>/login.jsp</result>
           </action>

package下的global-results(包范围全局视图):可以减少多个action访问相同页面的冗余代码

          <global-results>
              <result name="a">/a.jsp</result>
              <result name="b">/b.jsp</result>
           </global-results>
           <action name="action_1" class="com.sblov.action_1">
              <result >/success.jsp</result>
                 <!--    <result name="a">/a.jsp</result> -->
                 <!--   <result name="b">/b.jsp</result> -->
           </action>
           <action name="action_2" class="com.sblov.action_2">
                <result>/login.jsp</result>
                <!--    <result name="a">/a.jsp</result> -->
                <!--    <result name="b">/b.jsp</result> -->
           </action>

应用范围全局视图:将global-results单独放于一个package,其他包可继承此包

指定多个配置文件:< struts>< /struts>下用include

    <include file="struts-1.xml" />
    <include file="struts-2.xml" />
    <include file="struts-*.xml" /><!-- 可用正则表达式匹配,但不能包含本文件 -->

猜你喜欢

转载自blog.csdn.net/qq_34866380/article/details/79721168