Strust2文件下载

每回碰到上传下载的功能时都需要花费相对多的功夫来重新组织,今天索性就总结一个自己常用的方法。

1.JSP页面怎么写




2.Action怎么写

	private String fileName;
	private String dataName;

	public String getFileName() {
		//设置客户端默认字符集编码
		ServletActionContext.getResponse().setHeader("charset","ISO8859-1");
		try {
			return new String(this.fileName.getBytes(), "ISO8859-1");
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
			return "";
		}
	}

	public void setFileName(String fileName) {//这个名字是你点击保存时的文件名,一般如果信息比较机密可以采用替换文件名的方式
		dataName = fileName;
		this.fileName = "test.sql";
	}

	public InputStream getInputStream(){
		String dbName = "java"+dataName;
		ExportMysql ex = new ExportMysql();
		ex.exportMysql("e://", dbName);
		try {
			return new FileInputStream("e://java"+dataName+".sql");
		} catch (FileNotFoundException e) {
			e.printStackTrace();
			return null;
		}
	}
	
	public String execute() throws IOException {
		return SUCCESS;
	}
3.struts.xml文件的配置

   
    
     
     
     application/octet-stream;charset=ISO8859-1
     
     attachment;filename="${filename}"
     
     inputStream
     4096
    
   
基本的框架就是如此,暂时还不是太明白其中的原理,等慢慢熟悉后再修改这篇文章,请轻拍。


你可能感兴趣的:(下载,J2EE,struts2)