学习struts2,就应该掌握其配置。struts.xml作为struts2的核心配置文件,我们可以在其配置的参数众多。不必烦扰于繁杂的参数和属性,此处列出较为完整的配置说明供以参考。若有错误之处,还请指出为谢。
<struts>
<!--
*** 常量配置 ***
*@param name 常量名
*@param value 常量值
-->
<constant name="" value=""></constant>
<!--
*** 实例配置 ***
*@param type 指定需要实现的struts2接口
*@param name 实例名
*@param class 实例对应的类
*@param scope 实例有效范围
-->
<bean type="" name="" class="" scope="" />
<!--
*** 包含其他配置文件 ***
*@param file 指定需要包含的文件名
-->
<include file="" />
<!--
*** 包配置 ***
*@param name 指定包名,必需填写,
*@param namespace 指定包的命名空间,用来标记action的访问路径
*@param extends 指定所继承的包(可继承到action,拦截器等)
*@param abstract 指定该包是否为抽象包,抽象包不能配置action
*@param externalReferenceResolver
-->
<package name="" namespace="" extends="" abstract="" externalReferenceResolver="">
<!--
*** 配置结果类型 ***
* 不同结果类型可配置不同的参数
* struts2框架支持的结果类型已相当完善
* 在struts2核心(core)jar包下的struts-default.xml已有默认配置,默认为dispatcher
<result-types>
<result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult"/>
<result-type name="freemarker" class="org.apache.struts2.views.freemarker.FreemarkerResult"/>
<result-type name="httpheader" class="org.apache.struts2.dispatcher.HttpHeaderResult"/>
<result-type name="redirect" class="org.apache.struts2.dispatcher.ServletRedirectResult"/>
<result-type name="redirectAction" class="org.apache.struts2.dispatcher.ServletActionRedirectResult"/>
<result-type name="stream" class="org.apache.struts2.dispatcher.StreamResult"/>
<result-type name="velocity" class="org.apache.struts2.dispatcher.VelocityResult"/>
<result-type name="xslt" class="org.apache.struts2.views.xslt.XSLTResult"/>
<result-type name="plainText" class="org.apache.struts2.dispatcher.PlainTextResult" />
<result-type name="postback" class="org.apache.struts2.dispatcher.PostbackResult" />
<result-type name="dispatcher" class="org.apache.struts2.dispatcher.ServletDispatcherResult" default="true"/>
</result-types>
-->
<result-types>
<result-type name="" class="" default="">
<param name="">value</param>
</result-type>
</result-types>
<!--
*** 异常拦截处理配置 ***
* 参考:以下Action配置
* 若action配置了同名结果,action结果覆盖全局结果
-->
<interceptors>
<interceptor name="" class="">
<param name="">value</param>
</interceptor>
<interceptor-stack name="">
<interceptor-ref name="">
<param name="">value</param>
</interceptor-ref>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name=""></default-interceptor-ref>
<default-action-ref name=""></default-action-ref>
<default-class-ref class=""></default-class-ref>
<!--
*** 全局结果配置 ***
* 参考:以下Action配置
* 若action配置了同名结果,action结果覆盖全局结果
-->
<global-results>
<result name="" type="">
<param name="">value</param>
</result>
</global-results>
<!--
*** 全局异常映射配置 ***
* @param name 指定该映射名称
* @param result 指定出现异常时返回的逻辑视图
* @param exception 指定异常类型:如java.sql.SQLException
* 若action配置了同名结果,action结果覆盖全局结果
-->
<global-exception-mappings>
<exception-mapping name="" result="" exception="">
<param name="">value</param>
</exception-mapping>
</global-exception-mappings>
<!--
*** Action配置 ***
*@param name 此Action的名称:提交的请求名相同时调用
*@param class 指定需要调用的Action类:包名+类名
*@param method 指定调用class中的哪个方法:默认为"execute"
*@param converter 转换器,较少使用
<param>:为其它标签提供参数
<result>:配置逻辑视图和物理视图对应关系
@param name action类返回的逻辑视图名,默认为"success"
@param type 指定结果类型,默认物理视图结果类型为JSP
<param>:
<interceptor-ref>:拦截器,action若配置了拦截器,则需显式使用默认拦截器
<exception-mapping>:异常处理映射,发生异常,则返回指定的逻辑视图
-->
<action name="" class="" method="" converter="">
<param name="">value</param>
<result name="" type="">
<param name="">value</param>
</result>
<interceptor-ref name="">
<param name="">value</param>
</interceptor-ref>
<default-interceptor-ref name="defaultStack"/>
<exception-mapping name="" result="" exception="">
<param name="">value</param>
</exception-mapping>
</action>
</package>
<!--
*** 未知处理器配置 ***
* 请求未知的action,method,或返回未知的result
* 使用该未知处理器处理
* 需实现UnknownHandler 接口
-->
<unknown-handler-stack>
<unknown-handler-ref name=""></unknown-handler-ref>
</unknown-handler-stack>
</struts>