Struts第四次
一.文件的上传
(1)表单必须以post方式提交
(2)必须配置enctype="multipart/form-data"
(3)ActionForm当中需要使用FormFile类型的属性,调用getFileData(),它返回的是一个byte[],才能放到实体中去.
(4)数据库当中这个文件的字段必须是image类型的(二进制类型的数据,oracle :Long Raw)
(5)实体类中的是byte[]类型,才能保存到数据库的里面去
(6)图片可以保存到数据库,也可以方到文件中
保存到数据库:
按照常规的方式加入到数据库当中
保存到文件:
要使用一个文件输出流,将byte[]写到文件当中
二.DispatchAction的使用
从上序的例子可以看出两个问题:一就是struts提高一些自带的Action给我们使用,二就是parameter参数的使用
其实学到这里我们发现一个问题,比如我们要对一个用户增删改查的时候 ,发现要为每一个操纵写一个Action,如果还
要增加其他操作,
那么Action就会比较多,而且比较浪费,不好管理,那么能不能这样, 只要的对用户模块操作的都放在一个Action里,便
于管理
事实上我们可以继承DispatchAction
<action path="/op"
parameter="method"
type="com.accp.struts.action.OpAction"
name="opForm"
></action>
凡是继承了DispatchAction的类,都可以配置文件当中的parameter定义的method参数的数据,来分派给下面哪个
方法
一定记得不能重写execute(),否则都会在execute()方法这里终止
注意保持好页面的状态.给那个页面提交的值进行判断