struts2的文件上传与下载
针对与struts2的文件上传与下载是非常简单的。对于upload来讲:struts2在defaultStack这个拦截器栈已经提供了支持了,对于upload来说大致一个完成过程如下:
1)书写JSP,上传数据的时候要记得form的method为post,enctype为multipart/form-data
2)书写action: 配置file,fileFiileName,fileContentType. struts2帮我们封装文件名,与文件类型。分别为他们提供setter和getter方法.
3)execute方法的书写简单的代码如下:
?对于文件的下载,在action需要提供一个返回一个输入流的方法,方法名可以任意的。应该满足PO的书写规范。配置xml文件的时候inputName的值,就是刚刚提供的方法的名称。 文件下载的时候type必须是stream,那么这些配置的属性又是如何找到的???同样是struts-default.xml,有如下片段:
?
我们可以看见结果类型中有个对于stream。我们查看下这个类的原代码:
?
public class StreamResult extends StrutsResultSupport { private static final long serialVersionUID = -1468409635999059850L; protected static final Log log = LogFactory.getLog(StreamResult.class); public static final String DEFAULT_PARAM = "inputName"; protected String contentType = "text/plain"; protected String contentLength; protected String contentDisposition = "inline"; protected String inputName = "inputStream"; protected InputStream inputStream; protected int bufferSize = 1024; public StreamResult() { super(); } public StreamResult(InputStream in) { this.inputStream = in; } /**?
就可以看见配置的文件是哪里的了吧。 呵呵,简单的介绍到这里了。
?
?