struts2.0中struts.xml配置文件详解

时间:2022-04-27
本文章向大家介绍struts2.0中struts.xml配置文件详解,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd" >
 <struts>
 
     <!-- include节点是struts2中组件化的方式 可以将每个功能模块独立到一个xml配置文件中 然后用include节点引用 -->
     <include file="struts-default.xml"></include>
 
 
     <!-- package提供了将多个Action组织为一个模块的方式
         package的名字必须是唯一的 package可以扩展 当一个package扩展自
         另一个package时该package会在本身配置的基础上加入扩展的package
         的配置 父package必须在子package前配置 
         name:package名称
         extends:继承的父package名称
         abstract:设置package的属性为抽象的 抽象的package不能定义action 值true:false
         namespace:定义package命名空间 该命名空间影响到url的地址,例如此命名空间为/test那么访问是的地址为http://localhost:8080/struts2/test/XX.action
      -->
     <package name="com.kay.struts2" extends="struts-default" namespace="/test">
         <interceptors>
             <!-- 定义拦截器 
                 name:拦截器名称
                 class:拦截器类路径
              -->
             <interceptor name="timer" class="com.kay.timer"></interceptor>
             <interceptor name="logger" class="com.kay.logger"></interceptor>
             <!-- 定义拦截器栈 -->
             <interceptor-stack name="mystack">
                 <interceptor-ref name="timer"></interceptor-ref>
                 <interceptor-ref name="logger"></interceptor-ref>
             </interceptor-stack>
         </interceptors>
 
         <!-- 定义默认的拦截器 每个Action都会自动引用
          如果Action中引用了其它的拦截器 默认的拦截器将无效 -->
         <default-interceptor-ref name="mystack"></default-interceptor-ref>
 
 
         <!-- 全局results配置 -->
         <global-results>
             <result name="input">/error.jsp</result>
         </global-results>
 
         <!-- Action配置 一个Action可以被多次映射(只要action配置中的name不同)
              name:action名称
              class: 对应的类的路径
              method: 调用Action中的方法名
         -->
         <action name="hello" class="com.kay.struts2.Action.LoginAction">
             <!-- 引用拦截器
                 name:拦截器名称或拦截器栈名称
              -->
             <interceptor-ref name="timer"></interceptor-ref>
 
             <!-- 节点配置
                 name : result名称 和Action中返回的值相同
                 type : result类型 不写则选用superpackage的type struts-default.xml中的默认为dispatcher
              -->
          <result name="success" type="dispatcher">/talk.jsp</result>
          <!-- 参数设置 
              name:对应Action中的get/set方法 
          -->
          <param name="url">http://www.sina.com</param>
         </action>
     </package>
 </struts>