使用struts多文件上傳時(shí)出現(xiàn)如下錯(cuò)誤
javax.servlet.ServletException: java.lang.RuntimeException: Unknown entity: org.apache.struts.upload.CommonsMultipartRequestHandler$CommonsFormFile
java.lang.RuntimeException: Unknown entity: org.apache.struts.upload.CommonsMultipartRequestHandler$CommonsFormFile
上傳時(shí),只能上傳最后一張圖,然后就報(bào)上述錯(cuò)誤;
form類(lèi)如下
//照片列表
private List<FormFile> photos = new ArrayList<FormFile>();
public List<FormFile> getAllPhoto() {
return photos;
}
public FormFile getPhotos(int i) {
return photos.get(i);
}
public void setPhotos(int i,FormFile photos) {
this.photos.add(photos);
}
action類(lèi)如下
AlbumForm af = (AlbumForm) form;
FormFile photo = null;
Users u= (Users)request.getSession().getAttribute("loginInfo");
String userId =u.getId().toString();
String albumId = request.getParameter("albumId");
Album album = (Album) photoServiceImp.findById(Album.class, Integer.valueOf(albumId));
String webSavePath = "/images/upload/"+u.getId()+"/album/"+albumId;
String upPath = request.getSession().getServletContext().getRealPath(webSavePath);
System.out.println(albumId+"--"+userId+"\r\n"+upPath+"\r\n");
System.out.println("文件個(gè)數(shù):"+af.getAllPhoto().size());
//循環(huán)上傳照片
for (int i = 0; i < af.getAllPhoto().size(); i++) {
Photo p = new Photo();
photo = af.getPhotos(i);
System.out.println(photo.getFileName());
try {
String saveName = MyFileStream.uploadFile(photo, upPath);
p.setAddTime(new Date());
p.setAlbum(album);
p.setPhoto(webSavePath+"/"+saveName);
System.out.println(webSavePath+"/"+saveName);
photoServiceImp.save(photo);
} catch (Exception e) {
// TODO: handle exception
throw new RuntimeException(e.getMessage());
}
}
return mapping.findForward("goOneAlbumUI");
注:文件上傳類(lèi)MyFileStream,沒(méi)問(wèn)題,單文件可以上傳無(wú)誤。
html表單信息:
<form action="${pageContext.request.contextPath}/album.do?flag=addPhotos&xyz=<%=Math.random()%>" method="post"
enctype="multipart/form-data">
<table width="80%" cellpadding="5" cellspacing="5">
<tr id="more">
<td align="left" rowspan="15" width="20%" valign="top">
<font class="word3"><b>上傳照片:</b> <br /> 你可以上傳JPG,
JPEG, GIF, PNG或BMP文件。</font>
</td>
<td>
<input type="file" name="photos[0]" class="wby" size="40" />
</td>
</tr>
<!-- 動(dòng)態(tài)生成 -->
<tr id="add">
<td>
<input type="button" value="上傳更多..." onclick="addMore()">
</td>
</tr>
<tr>
<td>
<input type="hidden" name="albumId" value="${albumId}" />
</td>
<td>
<input type="submit" class="sub" value="上傳照片"
style="width: 100px"/>
<input type="reset" class="sub" value="取消"
style="width: 60px"/>
</td>
</tr>
<tr>
<td align="center" colspan="2">
<font class="word3">每批上傳限制在10張,總大小不超過(guò)15MB,如果你上傳不了,請(qǐng)?jiān)囋嚫〉恼掌?lt;/font>
</td>
</tr>
</table>
</form>
北大青鳥(niǎo)APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專(zhuān)業(yè)的國(guó)家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國(guó)一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國(guó)成功上市,融資1
北大課工場(chǎng)是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國(guó)家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國(guó)制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國(guó)職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開(kāi)發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_(kāi)發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開(kāi)發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開(kāi)發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問(wèn),美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。