主要代碼如下 ?
?
Form部分: ?
?
public ?class ?MultiUploadForm ?extends ?ActionForm ?{ ?
? ? ? ?private ?List ?myFiles; ?
? ? ? ?public ?MultiUploadForm(){ ?
? ? ? ? ? ? ? ?myFiles ?= ?new ?ArrayList(); ?
? ? ? ? ? ? ? ?//為了能夠在頁面初始顯示一個(gè)file ?
? ? ? ? ? ? ? ?myFiles.add(new ?UploadFile()); ?
? ? ? ?} ?
? ? ? ?public ?List ?getMyFiles() ?{ ?
? ? ? ? ? ? ? ?return ?myFiles; ?
? ? ? ?} ? ? ? ? ?
?
? ?//注意這個(gè)方法的定義 ?
?
? ? ?public ?UploadFile ?getUploadFile(int ?index){ ?
? ? ? ? ? ? ? ?int ?size ?= ?myFiles.size(); ?
? ? ? ? ? ? ? ?if(index>size-1){ ?
? ? ? ? ? ? ? ? ? ? ? ?myFiles.add(new ?UploadFile()); ?
? ? ? ? ? ? ? ?} ?
? ? ? ? ? ? ? ?return ?(UploadFile)myFiles.get(index); ?
? ? ? ?} ?
? ? ? ?public ?void ?setMyFiles(List ?myFiles) ?{ ?
? ? ? ? ? ? ? ?this.myFiles ?= ?myFiles; ?
? ? ? ?} ?
} ?
?
Dataset部分: ?
public ?class ?UploadFile ?implements ?Serializable ?{ ?
? ? ? ?private ?FormFile ?file; ?
? ? ? ?public ?FormFile ?getFile() ?{ ?
? ? ? ? ? ? ? ?System.out.println("run ?in ?uploadFile.getFile()"); ?
? ? ? ? ? ? ? ?return ?file; ?
? ? ? ?} ?
? ? ? ?public ?void ?setFile(FormFile ?file) ?{ ?
? ? ? ? ? ? ? ?this.file ?= ?file; ?
? ? ? ?} ?
} ?
Action部分: ?
public ?class ?MultiUploadAction ?extends ?Action ?{ ?
? ? ? ?public ?ActionForward ?execute(ActionMapping ?mapping, ?ActionForm ?form, ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?HttpServletRequest ?request, ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?HttpServletResponse ?response) ?{ ?
? ? ? ? ? ? ? ?MultiUploadForm ?multiUploadForm ?= ?(MultiUploadForm) ?form; ?
? ? ? ? ? ? ? ?List ?myFiles ?= ?multiUploadForm.getMyFiles(); ?
? ? ? ? ? ? ? ?for(int ?i ?=0;i<myFiles.size();i++){ ?
? ? ? ? ? ? ? ? ? ? ? ?UploadFile ?uploadFile ?= ?(UploadFile)myFiles.get(i); ?
? ? ? ? ? ? ? ? ? ? ? ?FormFile ?file ?= ?uploadFile.getFile(); ?
?
? ? ? ? ? ? ? ? ? ? ? ?if(file==null){ ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?System.out.println("file ?is ?null"); ?
? ? ? ? ? ? ? ? ? ? ? ?} ?
? ? ? ? ? ? ? ? ? ? ? ?else{ ?
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//能運(yùn)行到這里,就可以使用單個(gè)文件上傳的方法進(jìn)行上傳了。循環(huán)而已 ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?System.out.println("filename:::" ?+ ?file.getFileName()); ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?System.out.println("file ?size:::" ?+ ?file.getFileSize()); ?
? ? ? ? ? ? ? ? ? ? ? ?} ?
? ? ? ? ? ? ? ?} ?
?
? ? ? ? ? ? ? ?return ?null; ?
? ? ? ?} ?
} ?
?
JSP部分: ?
?
<%@ ?page ?contentType="text/html; ?charset=GBK" ?%> ?
<%@ ?taglib ?uri="/WEB-INF/struts-html.tld" ?prefix="html" ?%> ?
<%@ ?taglib ?uri="/WEB-INF/struts-nested.tld" ?prefix="nested" ?%> ?
?
<html:html> ?
<head> ?
<title> ?
multiUploadDemo ?
</title> ?
</head> ?
<script ?language="javascript" ?type=""> ?
? ? ?var ?num ?= ?0; ?
? ? ?function ?addFile(){ ?
? ? ? ? ? ?var ?innerHTML ?= ?multiUploadForm.innerHTML; ?
? ? ? ? ? ?var ?signal ?= ?"<TD ?id=tdTarget>"; ?
? ? ? ? ? ?var ?signalLen ?= ?signal.length; ?
? ? ? ? ? ?var ?targetIndex ?= ?innerHTML.indexOf(signal); ?
?
? ? ? ? ? ?var ?preHTML ?= ?innerHTML.substring(0,(targetIndex-6)); ?
? ? ? ? ? ?var ?subHTML ?= ?innerHTML.substring(targetIndex-6); ?
? ? ? ? ? ?num++; ?
? ? ? ? ? ?var ?insertHTML ?= ?"<TR><TD><input ?type=file ?name=uploadFile["+ ?num ?+ ?"].file ?value=''></TD>"; ?
? ? ? ? ? ?innerHTML ?= ?preHTML ?+ ?insertHTML ?+ ?subHTML; ?
?
? ? ? ? ? ?multiUploadForm.innerHTML ?= ?innerHTML; ?
? ? ? ? ? ?//alert(multiUploadForm.innerHTML); ?
? ? ?} ?
? ? ?function ?upload(){ ?
? ? ? ? ?multiUploadForm.submit(); ?
? ? ?} ?
</script> ?
<body ?bgcolor="#ffffff"> ?
<html:form ?method="post" ?action="/multiUploadAction.do" ?enctype="multipart/form-data"> ?
<table ?border="1"> ?
<TBODY> ?
<br><br> ?
?
this ?is ?file ?
? ?<nested:iterate ?id="uploadFile" ?property="myFiles" ?name="multiUploadForm" ?indexId="index"> ?
? ? ? ? ? ?<nested:nest ?property="uploadFile"> ?
? ? ? ? ? ? ? ?<nested:file ?property="file" ?name="uploadFile" ?indexed="true"/> ?
? ? ? ? ? ?</nested:nest> ?
? ?</nested:iterate> ?
?
?
<TR> ?
? ?<input ?type="button" ?name="btnAddFile" ?value="Add ?File" ?onclick="addFile()"/> ?
? ?<TR><TD ?id="tdTarget"></TD> ?
? ?<input ?type="button" ?name="btnUpload" ?value="upload" ?onclick="upload()"> ?
</TBODY> ?
</table> ?
</html:form> ?
</body> ?
</html:html> ?
?
?struts-config.xml部分: ?
?
? ?<form-beans> ?
? ? ? ?<form-bean ?name="multiUploadForm" ?type="MultiUploadForm" ?/> ?
? ?</form-beans> ?
?
<action ?name="multiUploadForm" ?path="/multiUploadAction" ?type="MultiUploadAction" ?/>??
只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。 | ||
![]() |
||
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
|
||
| |||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
29 | 30 | 1 | 2 | 3 | 4 | 5 | |||
6 | 7 | 8 | 9 | 10 | 11 | 12 | |||
13 | 14 | 15 | 16 | 17 | 18 | 19 | |||
20 | 21 | 22 | 23 | 24 | 25 | 26 | |||
27 | 28 | 29 | 30 | 31 | 1 | 2 | |||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
Welcome here, my friend!
常用鏈接
留言簿(12)
隨筆檔案(66)
- 2008年5月 (2)
- 2007年10月 (1)
- 2007年8月 (2)
- 2007年6月 (1)
- 2007年5月 (1)
- 2007年4月 (3)
- 2007年3月 (2)
- 2007年2月 (1)
- 2007年1月 (9)
- 2006年12月 (15)
- 2006年11月 (10)
- 2006年6月 (1)
- 2006年5月 (9)
- 2006年2月 (2)
- 2006年1月 (7)
文章分類
文章檔案(63)
web
最新隨筆
搜索
積分與排名
- 積分 - 89667
- 排名 - 647
最新評(píng)論

- 1.?re: 如何把Https網(wǎng)站中的安全證書導(dǎo)入到j(luò)ava中的cacerts證書庫?
-
按照您的方法在最后一步總是提示:
keytool錯(cuò)誤: java.io.IOException: Invalid keystore format
請(qǐng)問可能是什么原因? - --okhaoba
- 2.?北京急需二級(jí)機(jī)電
- 我們會(huì)以周到的為廣大優(yōu)秀人才提供服務(wù),北京一級(jí) 二級(jí)房建市政機(jī)電 證書掛靠 另外廣東企業(yè)還差一名二級(jí)市政建造師 有意者請(qǐng)與我聯(lián)系 聯(lián)系人:劉女士 在線QQ:2468189057
- --劉女士
- 3.?北京單位急需二級(jí)機(jī)電
- 北京單位急需二級(jí)機(jī)電,廣東企業(yè)急招二級(jí)建造師 有意者請(qǐng)與我聯(lián)系 在線QQ:2468189057
- --劉女士
- 4.?re: javascript 的automation服務(wù)器不能創(chuàng)建對(duì)象 異常原因和解決方法
- 青青豆網(wǎng)址大全(qqingdou),青青我的最愛,青青豆游戲盒
- --青青豆網(wǎng)址大全
- 5.?re: 一些圖像識(shí)別的書[未登錄]
-
謝謝推薦這些書啊~~
想請(qǐng)教一下您,我現(xiàn)在跟導(dǎo)師做一個(gè)圖像識(shí)別的項(xiàng)目,但剛開始做感覺無從下手,想問一下,我應(yīng)該從哪里入手??? - --輝輝