用于struts2下载
private InputStream excelStream;
private String excelFileName;
/**
* Struts下载 */
@Action(value = "downloadTemplate", results = { @Result(name = "success", type = "stream", params = {
"contentType", "application/vnd.ms-excel", "inputName", "excelStream", "bufferSize", "1024",
"contentDisposition", "attachment;filename=${excelFileName}" }) })
public String downloadTemplate() {
if (log.isDebugEnabled()) {
log.debug("downloadTemplate() =====>> start ");
}
String rootPath = ServletActionContext.getServletContext().getRealPath("/");
String templatePosition = rootPath + "/template/相关的上传模板.xls";
Map<String, Object> leaveStuInfoTemplateMap = examApplyStuInfoUploadServic.downloadTemplate(templatePosition);
excelStream = (InputStream) leaveStuInfoTemplateMap.get("stream");
excelFileName = (String) leaveStuInfoTemplateMap.get("excelName") + ".xls";
if (log.isDebugEnabled()) {
log.debug("downloadTemplate() <<===== end ");
}
return SUCCESS;
}
/*
* 下载excel模板的service中的方法
*/
@Override
public Map<String, Object> downloadTemplate(String templatePosition) {
if (log.isDebugEnabled()) {
log.debug(" downloadTemplate(String templatePosition) ====>> start ");
}
Map<String, Object> returnMap = new HashMap<String, Object>();
InputStream is = null;
ByteArrayInputStream bis = null;
try {
is = new FileInputStream(templatePosition);
HSSFWorkbook wb = new HSSFWorkbook(is);
ByteArrayOutputStream os = new ByteArrayOutputStream();
try {
wb.write(os);
} catch (IOException e) {
e.printStackTrace();
}
byte[] content = os.toByteArray();
bis = new ByteArrayInputStream(content);
returnMap.put("stream", bis);
returnMap.put("excelName", new String("相关模板上传模板".getBytes(),
"ISO8859-1"));
if (log.isDebugEnabled()) {
log.debug(" downloadTemplate(String templatePosition) <<==== end ");
}
return returnMap;
} catch (Exception e) {
log.error("异常信息:" + e.getMessage());
if (log.isDebugEnabled()) {
log.debug(" downloadTemplate(String templatePosition) <<==== end ");
}
}
return null;
}
相关推荐
这个“servlet上传struts下载例子”是一个典型的使用这两种技术来解决中文文件名上传和下载问题的示例。下面将详细阐述相关知识点。 1. **Servlet**:Servlet是Java Servlet API规范定义的一组接口,用于扩展服务器...
在Struts中实现文件下载是一项常见的功能,尤其在处理用户请求获取服务器上的静态或动态资源时。这篇博文将深入探讨如何在Struts框架下实现文件下载的功能。 首先,我们需要了解文件下载的基本原理。当用户点击下载...
Struts的核心组件包括配置文件(struts-config.xml或struts2的struts.xml)、Action类、ActionForm(在Struts 1中)或ValueStack(在Struts 2中)、Result(视图结果)以及Interceptor(拦截器)。ActionForm用于在...
Struts2是一个非常流行的Java Web开发框架,它基于MVC(Model-View-Controller)设计模式,用于构建可维护性高、结构清晰的企业级应用程序。Struts2的核心功能包括动作调度、视图渲染、结果映射、拦截器机制以及丰富...
Struts 是一个开源的Java Web应用程序框架,由Apache软件基金会维护。它基于Model-View-Controller(MVC)设计模式,旨在简化Web应用的开发过程,提供更好的结构和可维护性。在本压缩包"jakarta-struts-1.1"中,包含...
此资源包包含了用struts下载带有页眉页脚水印的pdf文件,并且页眉页脚处放的是图片加文字,还带有页码,其中用到的技术freemarker+itext+flying sauser整合开发,由于是刚从工程中抠出来的,不能运行起来,但功能是完好...
在标签"struts下载"中,我们理解用户可能需要了解如何获取Struts的最新版本。Struts的下载通常可以通过以下步骤进行: 1. 访问Apache Struts官方网站(http://struts.apache.org/)。 2. 在“Downloads”部分找到...
标签“struts 下载”表明这个资源是与Struts2框架相关的下载,适用于需要使用或升级Struts2框架构建工具链的开发者。 压缩包子文件的文件名称列表未提供具体信息,但通常在Struts2相关的压缩包中,除了`struts2_ant...
在使用Struts2进行文件下载功能时,可能会遇到各种异常情况,特别是当用户尝试取消下载时。本篇将深入探讨Struts2下载取消报异常的解决方法,以及相关的知识点。 1. **Struts2 文件下载原理** - Struts2提供了方便...
使用struts2框架进行文件的上传并限制文件的大小与类型,使用struts2框架实现文件下载
在这个特定的资源包中,重点在于如何通过Struts实现带有页眉、页脚以及水印的PDF文件下载功能。这个功能通常用于提供正式的文档或报告,以增加文件的专业性和防止未经授权的复制。 首先,我们需要了解Struts的...
1. **下载Struts 2**:根据教程中的提示,建议下载Struts 2.1.x版本。 2. **安装Eclipse for Java EE**:这是一款强大的IDE,适合Java Web开发。教程中提到了需要下载Eclipse for Java EE,这是为了方便进行Struts 2...
- **下载**: 可以在 [Struts 下载页面](http://struts.apache.org/download.cgi) 获取 Struts2 的最新版本。 **特点**: - **基于 Model2 设计模型**: Struts2 基于 Model2 架构模式,将业务逻辑、展示逻辑和控制...
在这个“Struts2实现文件下载功能”的示例中,我们将深入探讨如何利用Struts2框架来实现在web应用中让用户下载文件的功能。 首先,我们需要理解文件下载的基本原理。在Web应用中,当用户点击一个链接或提交一个表单...
struts-2.0.6-lib.zip下载,struts下载,struts2下载,Apache Struts 2即是之前大家所熟知的WebWork 2。在经历了几年的各自发展后,WebWork和Struts社区决定合二为一,也即是Struts 2。
Struts2.0是Java Web开发中一个非常重要的框架,它基于MVC(Model-View-Controller)设计模式,极大地简化了Web应用的开发过程。这个"完整的struts2.0中文教程"提供了全面的学习资源,帮助开发者快速理解和掌握...
Struts2是一个非常著名的开源Java框架,用于构建企业级Web应用程序。这个名为"struts2-apps"的压缩包很可能是包含了一些示例应用或演示项目,这些项目可以帮助开发者理解和学习Struts2框架的核心概念、架构以及最佳...
Struts2是Apache软件基金会(ASF)下的一个开源框架,主要应用于Java平台,用于构建企业级Web应用程序。这个“struts-2.3.24”版本是Struts2的一个重要发布,它提供了许多更新、改进和修复,以增强框架的安全性、...
Struts是Apache软件基金会旗下Jakarta项目的一个开源框架,主要用于构建Java Web应用程序。它遵循Model-View-Controller(MVC)架构模式,旨在简化开发过程,提供更好的代码组织和可维护性。本篇文章将深入探讨...