java struts 文件下载_Struts2文件下载实例
通过《Struts2文件下载简介》教程的学习,读者已经了解了使用 Struts2 框架实现在指定的目录中下载指定文件的功能。下面通过案例演示文件下载功能。
1)创建下载页面
在 struts2Demo06 项目的 WebContent 目录下创建一个名称为 download.jsp 的页面文件,在文件中添加一个用于文件下载的链接,其主要代码如下所示:
test.txt
2)创建 Action
在 com.mengma.action 包中新建一个名称为 SimpleDownLoadAction 的类,该类主要用于处理文件下载的核心操作,其代码如下所示。
package com.mengma.action;
import java.io.InputStream;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class SimpleDownLoadAction extends ActionSupport {
private String filename;
public String getFilename() {
return filename;
}
public void setFilename(String filename) {
this.filename = filename;
}
// 定义了返回InputStream的方法,该方法作为被下载文件的入口
public InputStream getDownloadFile() {
// 获取下载文件名称
String filename = ServletActionContext.getRequest().getParameter(
"filename");
// 定义下载文件路径
String filePath = "/upload/" + filename;
// 返回一个流对象
return ServletActionContext.getServletContext().getResourceAsStream(
filePath);
}
}
3)编写配置文件信息
在 struts.xml 中增加 action 的配置,其代码如下所示:
text/plain
attachment;filename=${filename}
downloadFile
在上述配置代码中,分别通过 stream 结果类型的属性设置了所要下载文件的类型、名称和输入流。其中 ${filename} 表示在项目运行时,将 action 中的 filename 属性动态地填充在 ${} 中间部分,这样就可以动态地获取所要下载的文件名称。
4)运行项目并查看结果
启动项目后,在浏览器的地址栏中输入地址 http://localhost:8080/struts2Demo06/download.jsp,即可显示如图 1 所示的页面。
图 1 下载页面
单击下载页面的超链接后,浏览器的显示结果如图 2 所示。
图 2 上传页面
java struts 文件下载_Struts2文件下载实例相关推荐
- java下载pdf_java实现文件下载..pdf
java实现文件下载. 在 BlogJava上已经有一位作者阐述了文件上传的问题, 地址是在 Struts 2中实现文件上传 , 因此我就不再讨论那个话题了.我今天简单介绍一下 Struts 2的文件 ...
- java 防止文件下载_Spring,Java:流式文件下载以避免内存不足错误
我正在开发一个Spring MVC应用程序,用户可以在其中下载文件.用户可以点击触发下载机制的附件.Spring,Java:流式文件下载以避免内存不足错误 昨天,当该多个下载和两个具有约2 GB的文件 ...
- JAVA中的通用文件下载接口
本文记录下JAVA中的通用文件下载接口,每次都上网找,挺麻烦的. 文章目录 概述 概述 /*** 通用下载请求** @param filePathName 文件路径*/@GetMapping(&quo ...
- Java后台Controller实现文件下载操作
代码 参数: 1.filePath:文件的绝对路径(d:\download\a.xlsx) 2.fileName(a.xlsx) 3.编码格式(GBK) 4.response.request不介绍了, ...
- java后台实现excel文件下载功能
java后台实现excel文件下载功能 java中对于excel文件的操作,有读取,写入,上传等功能,在对excel文件进行操作时,为了让使用者更加直观的制作excel数据,必然会有下载模板exce ...
- java文件下载文件损坏_Springboot实现文件下载,文件下载后损坏
场景描述 使用Springboot实现了一个文件下载的功能,代码如下 String fileName = "template.xls"; res.setHeader("C ...
- java struts 读取文件,java中Struts2 的文件上传和下载示例
文件上传 表单准备 要想使用 HTML 表单上传一个或多个文件 须把 HTML 表单的 enctype 属性设置为 multipart/form-data 须把 HTML 表单的method 属性设置 ...
- java多附件上传 实例demo
java多附件上传 实例demo <%@ page language="java" import="java.util.*" pageEncoding=& ...
- .Net/C# 与 J2EE/Java Web Service 互操作完整实例
http://www.cnblogs.com/Microshaoft/archive/2005/08/18/217213.html .Net 与 J2EE/Java Web Service 互操作完整 ...
最新文章
- layui 数字步进器_图解全新奔驰S级:从“传统豪华”向“数字豪华”转型
- 7-2 整除分块 (15 分)
- python Supervisor
- java 上文件传示例_Java解压缩文件示例
- quartz配置详解
- 遥感图像处理 | 辐射校正
- 把Alexa工具条改装成木马
- ICD3 - Cannot connect to USB device. Unrecognized endpoint.
- matlab 交互效应三维图,【MATLAB】使用MATLAB绘制心理学中的交互作用图
- element-ui校验表单只能输入数字
- Unity3d+C#斗地主学习探究1
- 数据分析学习总结笔记01:情感分析
- 嘉兴 机器人仓库 菜鸟_今天,菜鸟上线中国最大机器人仓库
- mac 下使用ssh
- java oracle 时间查询_Oracle 日期查询
- IOS上传app store审核截图规格要求
- 升级主板和CPU后OpenGL初始化失败问题的解决
- selenium新浪邮箱注册句柄切换实战
- javascript代码前端debug调试方法
- 最近老是卖了就涨 买了就跌呢
热门文章
- .NET Core微服务之路:基于Ocelot的API网关实现--http/https协议篇
- KubeCon+CloudNativeCon首秀中国!
- 20周年献礼:Visual Studio 2017正式版3月7日发布
- ASP.NET Core服务器综述
- mysql主外键引用关系,关于mysql:数据主/外键关系
- 【地理建模】空间统计分析:空间权重矩阵、全局空间自相关、局部空间自相关
- 【经典回放】多种语言系列数据结构算法:堆排序
- C# Color颜色对照表
- C++语言打印汉字表
- C/C++之内存对齐