struts2与ognl结合实现下载

首先完成我们的Action,继承ActionSupport

private InputStream Is;
	private String filename;
	
	public String getFilename() throws UnsupportedEncodingException 
	{
		return URLEncoder.encode("参与感的前世今生.zip","UTF-8");//解决中文名的乱码问题
	}

	public InputStream getIs() 
	{
		//获得servletcontext
		ServletContext sc=ServletActionContext.getServletContext();
		//获得资源流
		Is=sc.getResourceAsStream("/WEB-INF/apache-tomcat-6.0.35.zip");
		//返回
		return Is;
	}
	@Override
	public String execute() throws Exception 
	{
		
		return SUCCESS;
	}


struts.xml注册一下action

<result name="success" type="stream">
<param name="contentType">application/zip</param>
	<param name="inputName">is</param>
	<!--
	1:响应头用的iso-8859-1 无法使用中文
	2:使用urlencoding编码才能发送中文 
	3:ognl表达式 这不是el
	 -->
	<param name="contentDisposition">attachment;filename="${filename}"</param>
	<param name="bufferSize">1024</param>
</result>


别忘了在web.xml注册struts2.




你可能感兴趣的:(struts2与ognl结合实现下载)