struts2文件下载

1.web.xml配置还是一样

2.file.jsp页面

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>下载文件</title>
</head>
<body>

下载文件
<br>
test.txt<a href="downloadFile.action?number=1">下载1</a>
<br>
二级缓存 ehcache.jsp<a href="downloadFile.action?number=2">下载2</a>
</body>
</html>

 3.FileAction.java

	private int number;//
	private String fileName;//get和set方法省略
	/**
	 * 文件下载
	 * 郑平
	 * @return
	 * 2014-7-23
	 */
	public InputStream getLoadFile(){
		System.out.println("文件下载+++++++++++");
		if(1 == number){
		   this.fileName = "test.txt" ;
		   //获取资源路径
		   return ServletActionContext.getServletContext().getResourceAsStream("upload/test.txt");
		}else if(2 == number){
			this.fileName = "二级缓存ehcache.jsp";
			//解解乱码
			try {
				this.fileName = new String(this.fileName.getBytes("GBK"),"ISO-8859-1");
			} catch (UnsupportedEncodingException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			return ServletActionContext.getServletContext().getResourceAsStream("upload/二级缓存 ehcache.jsp") ;
		}
		else
		   return null ;
	}

      下载路径,仿佛只能在tomcat更目录里面下载。例如:在WebContent下面新建一个文件夹->upload里面有文件1.test.txt;2.二级缓存 ehcache.jsp;

3.配置file.xml

<action name="downloadFile" class="com.file.action.FileAction">
    			<result name="success" type="stream">
    				<param name="contentType">application/octet-stream</param>  
             		<param name="contentDisposition">attachment;fileName="${fileName}"</param>  
            	    <param name="inputName">loadFile</param>  
            	    <param name="bufferSize">1024</param>  
               </result>
    			<result name="input">/default.jsp</result>
    		</action>

    <param name="contentType">application/octet-stream</param>  所有类型文件
    <param name="inputName">loadFile</param>  //loadFile 是FileAction.java中的getLoadFile方法对应的

    <param name="contentDisposition">attachment;fileName="${fileName}"</param>

     //fileName="${fileName} 是下载该文件时,显示文件的名称

4.struts.xml配置

<include file="com/struts/config/file.xml"></include>

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值