struts 2 annotation 配置文件上传下载

struts 2 的action:

	@Action(value="uploadFile",interceptorRefs={@InterceptorRef(params=
			{"allowedTypes","image/bmp,image/jpeg,image/png,image/gif","maximumSize","2000000"},
			value="fileUpload"),@InterceptorRef("defaultStack")},
			results={@Result(location="/WEB-INF/pages/uploadResult.jsp",type="dispatcher"),
			@Result(name="input",location="/WEB-INF/pages/uploadError.jsp",type="dispatcher")},
			params={"savePath","/upload"})
	public String upload() {
		FileOutputStream fos = null;
		FileInputStream fis = null;
		byte[] buffer = new byte[1024];
		int len = 0;
		try {
			fos = new FileOutputStream(getSavePath() + "\\" + getUploadFileName());
			fis = new FileInputStream(getUpload());
			while ((len = fis.read(buffer)) > 0) {
				fos.write(buffer, 0, len);
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return SUCCESS;
	}

可以设置多个interceptor

fileUpload是interceptor的名称,可以在struts-default.xml中找到

allowedTypes是允许上传的文件类型

maximumSize是允许上传文件的大小限制,单位是字节

这些参数都可以在FileUploadInterceptor类中找到

还有,必须显式配置defaultStack

你可能感兴趣的:(xml,jsp,Web,struts)