首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

struts2 多文件上传的有关问题。忘

2011-12-24 
struts2 多文件上传的问题。忘高手指点struts2多文件上传时,比如:xx.jsp中包含两个同名的文本框和文件域。这

struts2 多文件上传的问题。忘高手指点
struts2多文件上传时,比如:
xx.jsp中包含两个同名的文本框和文件域。这里运行用户只填写用户名。文件选填

HTML code
<form name="myform" method="post" action="add.action" enctype="multipart/form-data"><input type="text" name="user" /><input type="file" name="pic" /><input type="text" name="user" /><input type="file" name="pic" /></form>

在Action类文件如下(只写关键部分)
Java code
        private List<File> pic;        private List<String> user;        //对应的getter 和 setter方法略         public String execute(){        //(1)下面种情况,只有当文件域都为空或者都不为空时可用。               for(int i=0;i<user.size();i++){               if(pic!=null){                  //上传文件和将user,pic路径信息写入数据库.               }else{                  //只将user信息写入数据库.                }             }        //(1)下面种情况,必须文件域都不为空,否则将抛出nullpointexception。             for(int i=0;i<user.size();i++)                 if(pic.get(i)!=null){                  //上传文件和将user,pic路径信息写入数据库.               }else{                  //只将user信息写入数据库.               }        } 

自己测试了下:System.out.print(user.size());值都等于2
  System.out.pring(pic.size());当两个文件域都为空是=0,一个填写=1,都填写=2
这样的话,就不好将对应的信息写入数据库了。请教解决办法


[解决办法]
解决方法:
可以在数据库中加一个表picInfoTable,该表的外键参照存放user文件信息的表的主键(userId之类的),表picInfoTable中存放每个user上传的文件路径信息,如果一个user有一个文件,那么该表中就一条记录,如果一个user多个文件,该表中就多条记录。
[解决办法]
文件用这个
Java code
private FormFile pic;
[解决办法]
接收用FormFile,试试。 接收不到估计就是这儿的问题
[解决办法]
好像设计上有问题
这样只添一个文件根本判断不出来是属于user的
[解决办法]
属于哪个user的

热点排行