一、文件的上传(拦截器)
1.1、文件上传的条件
表单method必须是post;
enctype取值必须是multipart/form-data;
提供文件选择域。
1.2、文件上传的例子
upload1.jsp
struts.xml的配置编写
动作类编写
测试:
记得去tomcat的发布目录下查找上传的文件
1.3、文件上传的配置
1.3.1、文件上传的大小限制(2M)
从default.properties文件中
如果超过了默认的大小,upload拦截器就会转向一个input的逻辑视图
如果没有在struts.xml中配置则会出现
在action中配置了<result type="input">/upload.jsp</result>
超过了上传的文件大小:
1.3.2、改变文件上传大小的限制
在struts.xml中改变struts.properties文件中的常量
1.3.3、限制文件上传类型
1.通过限制文件的扩展名
怎么限制?通过给fileupload拦截器注入参数
当你在upload.jsp中选择的是txt文件时
2.通过限制文件上传的MIME类型
当你上传了非限定的MIME类型时,有如下错误提示
1.3.4、出错后的错误信息中文提示(Struts2中的所有文件都是基于国际化的)
默认信息提示在:struts2-core.jarorg.apache.struts2struts-message.properties
解决办法:用国际化消息资源包,把对应的key取值改为中文即可。
常用的Key值:
1.4多文件上传
jsp
struts.xml
动作类中
测试:
二、文件下载
就是一种结果类型(Stream)
1、文件下载的例子
创建一个download的动作类
在struts.xml中配置