以前一直都是手写现在为了方便复制,在介绍一下struts文件拦截器。
看一下页面写法:
第一步:添加页面要有3要素:
1.表单必须post提交
2.表单提交类型enctype.必须多段式.multipart/form-data。
3.文件上传使用<input type="file" />
<form id=form1 name=form1
action="${pageContext.request.contextPath }/FilterAction_add"
method="post" enctype="multipart/form-data" >
<tbody>
<tr>
<td>图片上传 :</td>
<td>
<input type="file" name="photo" />
</td>
</tr>
<tr>
<td rowspan=2>
<input type=submit value=" 保存 " >
</td>
</tr>
</table>
</form>
第二步:Action接收处理,可以接收到3个参数
//名字要与页面相同,上传的文件会自动封装到File对象。
private File photo;
//属性名加上FileName,文件名称会自动封装到属性中。
private String photoFileName;
//属性名加上ContentType,文件类型会自动封装到属性中。
private String photoContentType;
public String add() throws Exception {
if(photo!=null){//小心空指针
System.out.println("文件名称:"+photoFileName);
System.out.println("文件类型:"+photoContentType);
//将上传文件保存到指定位置
photo.renameTo(new File("E:/zidingyi.jpg"));
}
}
完事就这么简单。
扩展一下:struts的默认文件拦截器。
这就是默认文件拦截器,点进去看一下,FileUploadInterceptor。
我们继续往下看
如果没有错误我们看一下275行,打一下断点
继续走
最后一步: