完整的struts.xml文件骨架可以直接拿来用,修改一下就可以啦。
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE struts PUBLIC 3 "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" 4 "http://struts.apache.org/dtds/struts-2.1.dtd"> 5 <!-- struts是Struts2配置文件的根元素 --> 6 <struts> 7 <!-- 用于配置Struts2的常量,比如说指定Web采用的默认编码集,可以出现0次或多次 --> 8 <constant name="" value="" /> 9 <!-- 这个跟Spring里面的bean一样的作用,可以出现0次或多次 --> 10 <bean type="" class="" scope="" static="" optional="" /> 11 <!-- 用于包含其他配置文件,我们通常喜欢分类管理不同的Action,然后在struts.xml文件包含这些配置文件,可以出现0次或多次 --> 12 <include file="" /> 13 <!-- package提供了将多个Action组织为一个模块的方式 package的名字必须是唯一的 package可以扩展 当一个package扩展自 14 另一个package时该package会在本身配置的基础上加入扩展的package 的配置 父package必须在子package前配置 name:package名称 15 extends:继承的父package名称 abstract:设置package的属性为抽象的 抽象的package不能定义action 值true:false 16 namespace:定义package命名空间 该命名空间影响到url的地址,例如此命名空间为/test那么访问是的地址为http://localhost:8080/struts2/test/XX.action --> 17 <package name="必填的包名" extends="" namespace="" abstract="" 18 externalReferenceResolver=""> 19 <!-- 每个包都要设置一个默认的结果类型,如果没指定默认的结果类型,则继承父包的类型 ,可以出现0次或多次 --> 20 <result-types> 21 <result-type name="dispatcher" default="true" 22 class="org.apache.struts2.dispatcher.ServletDispatcherResult" /> 23 </result-types> 24 <interceptors> 25 <!-- 定义拦截器 name:拦截器名,class:拦截器类 --> 26 <interceptor name="" class=""></interceptor> 27 <!-- 拦截器栈,定义一组拦截器 --> 28 <interceptor-stack name=""> 29 <!-- 拦截器引用 --> 30 <interceptor-ref name=""></interceptor-ref> 31 </interceptor-stack> 32 </interceptors> 33 <!-- 默认拦截器引用,最多出现一次 --> 34 <default-interceptor-ref name=""></default-interceptor-ref> 35 <!-- 默认的Action,如果没有找到对应URL的拦截器,则采用默认的Action,最多出现一次 --> 36 <default-action-ref name=""></default-action-ref> 37 <!-- 当我们在配置Action的时候,如果没有为某个Action指定具体的class值时,系统将自动引用<default-class-ref>标签中所指定的类。 --> 38 <default-class-ref class=""></default-class-ref> 39 <!-- 1当多个Action使用同一个result时,可以使用<global-results>标签配置全局result; 2.当Action返回的字符串没有相应的result,Struts2会在package中查找全局result; 40 3.如果需要使用其他package或者通过<include>标签引用的其他xml文件中的全局result,则需要通过package中的extends属性指定继承的package。 --> 41 <global-results> 42 <result> 43 <param name=""></param> 44 </result> 45 </global-results> 46 <!--<exception-mapping>与<global-exception-mapping> 这两个标签都是用来配置发生异常时对应的视图信息的, 47 只不过一个是Action范围的,一个是包范围的,当同一类型异常在两个范围都被配置时, Action范围的优先级要高于包范围的优先级.这两个标签包含的属性也是一样的: --> 48 <global-exception-mappings> 49 <!-- result:指定发生异常时显示的视图信息,这里要配置为逻辑视图;exception:指定异常类型 --> 50 <exception-mapping result="" exception=""></exception-mapping> 51 </global-exception-mappings> 52 53 <!-- 核心Action --> 54 <action name="" class="" method="" converter=""> 55 <!-- 定义Action中的参数 --> 56 <param name=""></param> 57 <!-- 定义该Action发生异常时,跳转到的逻辑视图 --> 58 <exception-mapping result="" exception=""></exception-mapping> 59 <!-- 定义访问该Action时的拦截器 --> 60 <interceptor-ref name=""></interceptor-ref> 61 <!-- 定义该Action的结果视图 --> 62 <result></result> 63 </action> 64 </package> 65 <!-- 未知处理器栈从Struts 2.1 开始出现。 未知处理器 未知处理器是那些实现了com.opensymphony.xwork2.UnknownHandler 66 接口的类,当未知的action、result或者方法被执行的时候,通过框架被调用。要定义个位置处理器,创建一个实现了那个接口的泪,并且在struts.xml中添加一个bean定义: 67 <bean type="com.opensymphony.xwork2.UnknownHandler" name="handler" class="myclasses.SomeUnknownHandler"/>建立未知处理器栈 68 使用 unknown-handler-stack标签可以定义多个未知处理器: <bean type="com.opensymphony.xwork2.UnknownHandler" 69 name="handler1" class="com.opensymphony.xwork2.config.providers.SomeUnknownHandler"/> 70 <bean type="com.opensymphony.xwork2.UnknownHandler" name="handler2" class="com.opensymphony.xwork2.config.providers.SomeUnknownHandler"/> 71 <unknown-handler-stack> <unknown-handler-ref name="handler1" /> <unknown-handler-ref 72 name="handler2" /> </unknown-handler-stack> 当多个未知处理器像上面那样被罗列在一起的时候,它们就会按照指定的顺序被调用。同样的,依次次调用一个单独的未知处理器(当未知的action、result或者方法被执行的时候),直到其中一个处理了被请求的action。 73 未知处理器管理器 默认管理未知处理器栈的类是 com.opensymphony.xwork2.DefaultUnknownHandlerManager,要实现自定义类可以实现interface 74 com.opensymphony.xwork2.UnknownHandlerManager 接口,并且设置一下 struts.unknownHandlerManager属性(应该在struts.properties里面)。 --> 75 <unknown-handler-stack> 76 <unknown-handler-ref name=""></unknown-handler-ref> 77 </unknown-handler-stack> 78 </struts>