Struts2 逐步成长:(三) 文件下载

Struts2中文件下载实现通过result type="stream"的方式

找到官方帮助文档:struts2/struts-2.2.1/docs/WW/stream-result.html


写的非常清楚,action有什么要配置,可以用XML,可以用实例变量.

xml方式参考官方Examples

我就贴JAVA方式,SETTER,GETTER实现忽略~~工具生成~~


	private String contentType;
	private long contentLength;
	private String contentDispostion;
	
	private InputStream inputStream;
	
	@Override
	public String execute() throws Exception {
		contentType = "image/jpeg";
		contentDispostion = "attachment;filename=example.jpg";
		
		ServletContext servletContext = ServletActionContext.getServletContext();
		String filePath = servletContext.getRealPath("/files/example.jpg");
		inputStream = new FileInputStream(filePath);
		contentLength = inputStream.available();
		
		return SUCCESS;
	}

!!!!!个人觉得比较有意思的:

Struts2的下载链接不像其他的是一个文件结尾

<a href="testDownload">Download</a>
它是请求一个action,然后返回视图,可见是有多灵活!!!

你可能感兴趣的:(xml,jsp,javaee,struts2,javadoc)