<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<constant name="struts.i18n.encoding" value="UTF-8" />
<constant name="struts.custom.i18n.resources" value="globalMessages" />
<constant name="struts.multipart.maxSize" value="1073741824" />
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.enable.SlashesInActionNames" value="true" />
<package name="common" extends="struts-default" namespace="/common">
<interceptors>
<interceptor name="debugInterceptor" class="com.ifeng.crm.common.DebugInterceptor" />
<!-- 定义权限拦截器 -->
<interceptor name="sessionInterceptor" class="com.ifeng.crm.common.SessionInterceptor" />
<!-- 定义权限拦截器 -->
<!-- 定义拦截器栈,所谓拦截器栈,是指由一个或多个拦截器组成 -->
<interceptor-stack name="sessionStack">
<interceptor-ref name="sessionInterceptor" />
<interceptor-ref name="debugInterceptor" />
<interceptor-ref name="defaultStack" />
<!-- struts2 提供的拦截器栈,包含了struts2的很多核心拦截器 -->
</interceptor-stack>
<interceptor-stack name="fileUploadStack">
<interceptor-ref name="sessionStack" />
<interceptor-ref name="debugInterceptor" />
<interceptor-ref name="fileUploadStack" />
<interceptor-ref name="defaultStack" />
</interceptor-stack>
<interceptor-stack name="actionMessageStack">
<interceptor-ref name="sessionInterceptor" />
<interceptor-ref name="debugInterceptor" />
<interceptor-ref name="store">
<param name="operationMode">AUTOMATIC</param>
</interceptor-ref>
<interceptor-ref name="defaultStack" />
</interceptor-stack>
</interceptors>
<!-- 为此包下的所有action应用拦截器 -->
<default-interceptor-ref name="sessionStack" />
<!-- 开发环境下不要开启 <default-action-ref name="defaultAction"/> -->
<global-results>
<result name="login" type="dispatcher">/login.jsp</result>
<result name="doVoid" type="chain">
<param name="namespace">/</param>
<param name="actionName">doVoid</param>
</result>
<result name="noPermission" type="dispatcher">/common/no_permission.jsp</result>
<result name="commonError" type="dispatcher">/common/error.jsp</result>
</global-results>
<action name="defaultAction">
<result type="redirect">/login.jsp</result>
</action>
</package>
<!--继承了上面的包-->
<package name="/" extends="common" namespace="/">
<action name="login" class="com.ifeng.crm.action.LoginAction">
<interceptor-ref name="debugInterceptor" />
<interceptor-ref name="defaultStack" />
<!--<result name="success" type="dispatcher">/welcome.jsp</result> -->
<result name="success" type="redirectAction">
<param name="namespace">/desktop</param>
<param name="actionName">search</param>
</result>
<result name="error" type="dispatcher">/login.jsp</result>
</action>
<action name="logout" class="com.ifeng.crm.action.LogoutAction">
<interceptor-ref name="debugInterceptor" />
<interceptor-ref name="defaultStack" />
<result name="success" type="dispatcher">/login.jsp</result>
<result name="error">/login.jsp</result>
</action>
<action name="init" class="com.ifeng.crm.action.InitAction">
<interceptor-ref name="debugInterceptor" />
<interceptor-ref name="defaultStack" />
</action>
<action name="iams/*" class="com.ifeng.crm.action.IamsAction" method="{1}">
<interceptor-ref name="debugInterceptor" />
</action>
<action name="*" class="com.ifeng.crm.action.VoidAction" method="{1}"> <!-- 指定了拦截器,则使用该拦截器,不在使用common包中的sessionStack拦截器-->
<interceptor-ref name="debugInterceptor" />
</action>
<!-- 下载文件 -->
<action name="download" class="com.ifeng.crm.action.DownloadAction"> <!-- 没指定任何拦截器,则使用common包中的默认拦截器,即:sessionStack-->
</action>
<!-- 上传文件 -->
<action name="upLoad" class="com.ifeng.crm.action.UpLoadAction"
method="upLoadFile" />
<action name="cancelUpload" class="com.ifeng.crm.action.UpLoadAction"
method="cancelUpload" />
<action name="removeUpload" class="com.ifeng.crm.action.UpLoadAction"
method="removeUpload" />
<action name="deletes" class="com.ifeng.crm.action.UpLoadAction"
method="deletes" />
<!-- 查看附件 -->
<action name="attachment" class="com.ifeng.crm.action.AttachmentAction">
<result name="success">/attachment/attachment_list.jsp</result>
<result name="error">/common/error.jsp</result>
</action>
<!-- 变动历史列表 -->
<action name="history" class="com.ifeng.crm.action.HistoryAction">
<result name="success">/history/history_list.jsp</result>
<result name="error">/common/error.jsp</result>
</action>
<!-- 修改历史明细 -->
<action name="showDetail" class="com.ifeng.crm.action.HistoryAction" method="showDetail">
<result name="success">/history/history_detail_iframe.jsp</result>
<result name="error">/common/error.jsp</result>
</action>
<!-- 全文检索 -->
<action name="searchAll" class="com.ifeng.crm.action.AllSearchAction">
<result name="success">/search_all.jsp</result>
</action>
</package>
<include file="struts-admin.xml" />
<include file="struts-account.xml" />
<include file="struts-opportunity.xml" />
<include file="struts-desktop.xml" />
<include file="struts-schedule.xml" />
<include file="struts-contract.xml" />
</struts>