<?xml version = "1.0" encoding = "UTF-8"?>
<!--下面是Struts2配置文件的DTD信息 -->
<!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" />
<!-- 指定不拦截的资源 -->
<constant name="struts.action.excludePattern" value="/static/.*?" />
<package name="/document" extends="struts-default" namespace="/document" >
<!--
配置拦截器,与拦截器栈
-->
<interceptors>
<!-- 自定义拦截器 -->
<interceptor name="loginIntercepter" class="iqaa.xxzh.msl.filter.LoginIntercepter">
</interceptor>
<!-- 自定义拦截器栈,在拦截器栈中引用默认拦截器栈和自定义的拦截器 -->
<interceptor-stack name="myInterceptorStack">
<interceptor-ref name="loginIntercepter"></interceptor-ref>
<interceptor-ref name="defaultStack">
<!-- 设置允许上传的文件类型: -->
<param name="fileUpload.allowedExtensions">.html,.htm</param>
</interceptor-ref>
</interceptor-stack>
</interceptors>
<!-- 配置默认拦截器 -->
<default-interceptor-ref name="myInterceptorStack"></default-interceptor-ref>
<!-- 全局result -->
<global-results>
<result name="login">/manage/login.jsp</result>
</global-results>
<!--
配置处理请求的action类,
name标志访问action时名称,通配符“*”可以是任意字符串,
method中的数字代表name属性中的第几个通配符,用来标志调用对应action中的哪一个方法处理请求
action中处理请求的方法必须返回一个字符串
-->
<action name="*Document" class="action处理类的全路径名" method="{1}">
<!-- 文件保存路径,注意配置文件保存路径之后需要在对应的action中设置相应参数的getter和setter方法 -->
<param name="savePath">/WEB-INF/upload</param>
<!--
配置请求处理后跳转的路径,
name匹配处理请求的method返回的字符串,可以根据返回的字符串配置不同的跳转路径
type:跳转方式
chain:跳转带其他action中
dispatcher:表示转发的指定资源,默认方式
redirect: 重定向到指定资源,该资源可以是jsp文件,也可以是action类
redirectAction: 用于重定向到action
在result中可以用<param>标签指定参数
-->
<result name="login" type="dispatcher">
<param name="location">转转资源路径</param>
<param name="parse">转到的资源中是否可以使用OGNL表达式</param>
</result>
<result name="success" type="chain">
<param name="namespace">跳转到的action所在包的命名空间(如果是同一包下可以不写)</param>
<param name="actionName">跳转到的action的名称</param>
</result>
<result name="input" type="redirect">
<param name="location">资源路径</param>
</result>
<result name="xxxx" type="redirectAction">
<param name="namespace">转发到的action所在包的命名空间(如果是同一包下可以不写)</param>
<param name="actionName">跳转到的action的名称</param>
</result>
<!-- 下载文件,stream指定向浏览器发送一个inputStream -->
<result name="download" type="stream">
<!-- 文件类型 -->
<param name="contentType">
text/plain,
text/html,
application/msword,
application/vnd.ms-powerpoint,
application/vnd.ms-excel
</param>
<!-- 指定文件下载的入口,在对应的action中必须用一个inputStream的setter和getter方法 -->
<param name="inputName">inputStream</param>
<!-- 指定下载文件的处理方式与文件名称 -->
<param name="contentDisposition">
attachment;filename="${downloadFileName}"<!--使用OGNL表达式前必须有相应的getter方法-->
</param>
<!-- 文件缓冲区大小 -->
<param name="bufferSize">40960</param>
</result>
</action>
</package>
</struts>