Www.helper3.com
热门关键字: php net javascript java
Struts2基础 专题
专题目录
您的位置:java > Struts2基础专题 > Struts2下载文件实例
Struts2下载文件实例
作者:--    发布时间:2019-11-20 10:18:46
这是一个struts2的例子来说明使用定制返回类型,允许用户下载文件。web工程的文件夹结构如下所示:

1. action

在action类中,声明一个 inputstream 的数据类型和getter方法。

downloadaction.java

package com.h3.common.action;

import java.io.file;
import java.io.fileinputstream;
import java.io.inputstream;
import com.opensymphony.xwork2.actionsupport;

public class downloadaction extends actionsupport{

	private inputstream fileinputstream;
	
	public inputstream getfileinputstream() {
		return fileinputstream;
	}

	public string execute() throws exception {
	    fileinputstream = new fileinputstream(new file("c:\\file-for-download.txt")); return success;
	}
}

2. 视图文件

一个正常的页面,有一个下载链接,用于下载文件。

downloadpage.jsp

<%@ taglib prefix="s" uri="/struts-tags" %>
<html>

<body>
<h1>struts 2 download file example</h1>

<s:url id="filedownload" namespace="/" action="download" ></s:url>

<div><div class="ads-in-post hide_if_width_less_800">
<script async  class="lazy" data-original="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- 728x90 - after2ndh4 -->
<ins class="adsbygoogle hide_if_width_less_800" 
     
     data-ad-client="ca-pub-2836379775501347"
     data-ad-slot="3642936086"
	 data-ad-region="h3region"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</div></div><h2>download file - <s:a href="%{filedownload}">fileabc.txt</s:a>
</h2>
	
</body>
</html>

3. struts.xml

定义下载文件的细节。 <param name=”inputname”> 值是从action的inputstream属性的名称。

阅读struts2的数据流结果文档以了解更详细信息。

struts.xml

<?xml version="1.0" encoding="utf-8" ?>
<!doctype struts public
"-//apache software foundation//dtd struts configuration 2.0//en"
"http://struts.apache.org/dtds/struts-2.0.dtd">
 
<struts>

<constant name="struts.devmode" value="true" />
	
<package name="default" namespace="/" extends="struts-default">
   <action name="show">
	<result name="success">pages/downloadpage.jsp</result>
   </action>
		
   <action name="download" class="com.h3.common.action.downloadaction">
	<result name="success" type="stream">
	  <param name="contenttype">application/octet-stream</param>
	  <param name="inputname">fileinputstream</param>
	  <param name="contentdisposition">attachment;filename="file-for-download.txt"</param> <param name="buffersize">1024</param>
	</result>
   </action>
</package>
	
</struts>

4. 执行结果

在浏览器中打开:http://localhost:8080/struts2download/

参考

  1. http://struts.apache.org/2.x/docs/stream-result.html
  2. http://www.iana.org/assignments/media-types/
  3. http://www.h3.com/struts/struts-download-file-from-website-example.html
  4. http://www.h3.com/java/how-to-download-file-from-website-java-jsp.html
  5. http://struts.apache.org/2.x/docs/how-can-we-return-a-text-string-as-the-response.html
代码下载(struts2download) - http://pan.baidu.com/s/1jgg0lzo

所有评论

loading......

滚动到顶部 滚动到底部
合作联系(微信):
www.helper3.com
关于本站:
宗旨
网站备案号:
粤ICP备17073857号-1

声明:
本站部分内容来自网络,如您发现本站内容侵害到您的利益,请联系本站管理员处理。