首页 > 代码库 > Struts文件下载
Struts文件下载
/* 文件下载的先决条件 * 1. 在xml配置文件中必须配置一个type="stream"的result, result中不需要填写任何内容
* 2. 在Action中编写一个接收文件名的String, 这个变量名必须和JSP页面的参数名完全吻合
* 3. 可以在result中配置一个名为"contentDisposition"的参数, 值是attachment;fileName=${fileName}
* * attachment表示当前下载的内容让浏览器以下载的方式打开 * * ${fileName}表示从对应的Action中获取要下载的文件名, Action中必须提供对应参数的getter方法 */
1.代码示例:
--->Action类
public class FileDownLoadAction extends ActionSupport { private static final long serialVersionUID = 1L; //文件传过来的名字 private String fileName; public String getFileName() { return fileName; } public void setFileName(String fileName) { this.fileName = fileName; } public String execute() throws Exception { System.out.println("FileDownLoadAction.execute()"); if (fileName == null) { System.out.println("文件不存在"); } System.out.println(fileName); return SUCCESS; } //下载文件的主要业务处理 public FileInputStream getInputStream() throws Exception { //获取到"/FileTransport"的路径 String path = ServletActionContext.getServletContext().getRealPath("/FileTransport"); //获取到"/FileTransport"路径下和接受到的文件名一样 File file = new File(path, fileName); //返回获取到的文件 return new FileInputStream(file); } }
--->filedownload.jsp
<body>
提交过去的值为文件名相同 <a href="${pageContext.request.contextPath}/filedownload?fileName=index.txt">文件下载</a> </body>
----->配置struts.xml文件
<action name="filedownload" class="com.gxxy.filetransport.fileupload.FileDownLoadAction"> <result>/JSP/filetransport/filedownload.jsp</result> <result type="stream"> <param name="contentDisposition">attachment;fileName=${fileName}</param> </result> </action>
Struts文件下载
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。