请问老师用 FileItemFactory 如何实现批量添加

请问老师用 FileItemFactory 如何实现批量添加

如果不是文件上传项的话可以用getParameterValue添加,用文件上传项目要怎么实现呢?我这样写的话只能添加一个对象进去List里面,,

http://img1.sycdn.imooc.com//climg/5d6faf010001abf010900502.jpg

http://img1.sycdn.imooc.com//climg/5d6faf020001d00816970840.jpg

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕柯南 2019-09-05 13:56:35

同学你好!

  1. 构造方法里按正常的写就可以了,比如:

public Book(Book book){
this.id=book.getId();
}

2. 同学的整个思路都是正确的,在最后添加进list时更改一下对象即可,所以同学在添加时将全局book中的的值,复制给一个全新的book对象进行保存。就可以解决这个问题,也就是:将list.add(book);改为list.add(new Book(book));

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~


好帮手慕柯南 2019-09-05 10:45:25

同学你好!

同学的整体思路是正确的,只会添加一个的原因是因为:这里的book对象始终是一个(也就是地址没有改变),所以存进去的总是最后一个数据。因此同学在向list集合添加book时,重新new一下即可。比如:

list.add(new Book(book));

但是同学这里需要给Book添加一个这样的构造方法,才能够正确赋值

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~


  • 提问者 KelvinChung #1
    那请问老师这个构造方法里面,就是public Book(Book book){???}应该怎么写呢?
    2019-09-05 11:36:56
  • 提问者 KelvinChung #2
    老师我还是不太懂,关于这个List<FileItem> list我是这么理解的:添加一个图书里面有五个项(包括一般表单项跟文件上传项),然后最后一个项是文件上传项,即为一个图书里面的最后一项,这里就是一个Book对象,我觉得应该是要在接受完文件上传项之后就把这个Book对象加入到BookList里面,记录为第一本书,然后这里应该new Book();用一个新的地址的对象再进行List<FileItem> list 继续进行下面的第二本书的五个项(包括一般表单项跟文件上传项),但是就是在第一本书与第二本书之间的更换新的Book对象这里我不太知道怎么实现,因为Book之前是定义为全局的,想看下老师详细的代码实现
    2019-09-05 11:46:17
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师