<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>struts2的一个例子</title>
</head>
<body>
<s:form action="downloadFile.action" method="post" enctype="multipart/form-data">
<s:submit value="下载文件"/>
</s:form> </body>
</html>

index.jsp代码

 <?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>
<constant name="struts.devMode" value="true"/>
<package name="hello" extends="struts-default" namespace="/">
<action name="downloadFile" class="com.xiaostudy.web.DownloadFile" method="downloadFile">
<result name="success" type="stream">
<param name="inputName">fileInputStream</param>
<param name="contentDisposition">attachment;filename=image.jpg</param>
<param name="contentType">application/octet-stream</param>
</result>
</action>
</package>
</struts>

struts.xml代码

 package com.xiaostudy.web;

 import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionSupport; public class DownloadFile extends ActionSupport { public InputStream fileInputStream;
public String downloadFile() throws FileNotFoundException { String path = ServletActionContext.getServletContext().getRealPath("/WEB-INF/files/CSS.jpg");
fileInputStream = new FileInputStream(new File(path)); return SUCCESS;
}
public InputStream getFileInputStream() {
return fileInputStream;
}
public void setFileInputStream(InputStream fileInputStream) {
this.fileInputStream = fileInputStream;
} }

action动作类DownloadFile


最新文章

  1. matlab中pcolorh函数作用
  2. ios 快速审核
  3. RapidJSON 代码剖析(三):Unicode 的编码与解码
  4. 短信接口API
  5. C# XMPP客户端与openfire通信(Matrix Xmpp 授权破解教程)
  6. jQuery Plugin Docs
  7. nginx 代理 proxy_pass设置
  8. 深入探讨C#中Socket一次性搞定消息发送
  9. (转)Eclipse快捷键大全,导包快捷键:ctrl+Shift+/
  10. hdoj 3065 病毒侵袭持续中(AC自动机)
  11. JSON.NET基本使用
  12. 《个人-GIT使用方法》
  13. git操作之上传gitthub
  14. Python Selenium 之数据驱动测试
  15. [AHOI2008]紧急集合 / 聚会
  16. mybatis09--自连接一对多查询
  17. (转)10大H5前端框架
  18. Effective C++学习笔记之explicit
  19. android抽屉效果
  20. 数据加密 - TDE透明数据加密原理

热门文章

  1. 【APIO2014】Palindromes
  2. 【BZOJ4384】[POI2015]Trzy wieże 树状数组
  3. Java散列和散列码的实现
  4. javajava持有对象(容器类)
  5. SpringCloud落地实践
  6. delphi xe-intarweb 功能记录
  7. 巨蟒python全栈开发-第13天 内置函数 匿名函数lambda
  8. swiper插件简介及用法
  9. The Log: What every software engineer should know about real-time data&#39;s unifying abstraction
  10. for...in循环取Json数据