sturts.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<!-- 1.常量
1.1开发模式 -->
<constant name="struts.devMode" value="true"/>
<!-- 1.2标签主题:简单风格,由xhtml变成html -->
<constant name="struts.ui.theme" value="simple"/>
<!-- 国际化,上传文件格式问题,报错的中文提示 -->
<constant name="struts.custom.i18n.resources" value="message" />
<!-- 开启静态方法调用 -->
<constant name="struts.ognl.allowStaticMethodAccess" value="true"/>
<!-- 2.共用项 -->
<package name="common" extends="struts-default" namespace="/">
<!-- 2.1登录拦截器 -->
<interceptors>
<!-- 2.1.1声明和注册拦截器 -->
<interceptor name="loginInterceptor" class="com.crm.staff.web.interceptor.LoginInterceptor"/>
<!-- 2.1.2自定义拦截器栈 -->
<interceptor-stack name="loginStack">
<interceptor-ref name="defaultStack">
<!-- 允许上传文件扩展名 -->
<param name="fileUpload.allowedExtensions">.xls,.xlsx</param>
</interceptor-ref>
<interceptor-ref name="loginInterceptor">
<!-- 2.1.3设定登录拦截条件 -->
<param name="excludeMethods">login</param>
</interceptor-ref>
</interceptor-stack>
</interceptors>
<!-- 2.1.4声明自定义拦截器栈为默认 -->
<default-interceptor-ref name="loginStack"/>
<!-- 定义全局视图处理登录拦截器 -->
<global-results>
<result name="login">WEB-INF/pages/login.jsp</result>
</global-results>
<action name="UIAction_*_*">
<result>WEB-INF/pages/{1}/{2}.jsp</result>
</action>
</package>
<!-- 3.加载其他配置文件 -->
<include file="struts/struts-staff.xml"/>
<include file="struts/struts-post.xml"/>
<include file="struts/struts-courseType.xml"/>
<include file="struts/struts-classes.xml"/>
</struts>
struts-classes.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="cls" extends="common" namespace="/">
<action name="classesAction_*" class="com.crm.classes.web.action.ClassesAction" method="{1}">
<!-- 查询所有 -->
<result name="findAll">/WEB-INF/pages/classesm/listClass.jsp</result>
<result name="preUpload">/WEB-INF/pages/classesm/uploadClass.jsp</result>
<!-- 上传成功 -->
<result name="upload" type="redirectAction">classesAction_findAll</result>
<!-- 上传不成功 -->
<result name="uploadInput">/WEB-INF/pages/error.jsp</result>
<!-- 下载 -->
<result name="download" type="stream">
<!-- 结果类型注入参数 -->
<param name="contentType">application/octet-stream;charset=ISO8859-1</param>
<!-- 以下载方式打开 -->
<param name="contentDisposition">attachment;filename=${scheduleFileName}</param>
<!-- 注入inputStream -->
<param name="inputName">inputStream</param>
</result>
</action>
</package>
</struts>
classesAction.java
package com.crm.classes.web.action;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import javax.servlet.Servlet;
import org.apache.commons.io.FileUtils;
import org.apache.struts2.ServletActionContext;
import org.aspectj.util.FileUtil;
import com.crm.base