Struts2中實現文件上傳(附源碼)
Struts2使用開源項目Apache Jakarta Commons FileUpload和內建的FileUploadInterceptor攔截器實現文件上傳. |
實現原理 :
Struts 2是通過Commons FileUpload文件上傳。Commons FileUpload通過將HTTP的數據保存到臨時文件夾,然后Struts使用fileUpload攔截器將文件綁定到Action的實例中。從而我們就能夠以本地文件方式的操作瀏覽器上傳的文件。
具體實現
前段時間Apache發布了Struts 2.1GA,所以本文的實現是以該版本的Struts作為框架的。以下是例子所依賴類包的列表:
其中commons-io-1.1.jar和commons-fileupload-1.1.3.jar可以在
http://jakarta.apache.org/
上下載.
★ 文件上傳頁面 index.jsp:














先將表單的提交方式設為POST,然后將enctype設為multipart/form-data,這并沒有什么特別之處.
★ 處理文件上傳 FileUploadAction.java:





































































在fileupload.jsp中,只有doc一個字段,而FileUploadAction.java中,卻有三個字段,Struts2怎么通過頁面的一個字段設置Action里的三個字段呢?沒錯,這就是FileUploadInterceptor的功勞了!你所要做的只是按照一定的樣式命名這三個字段的set方法,而字段名可以任意命名。第一個File類型的字段的set方法還是以常規的方式命名,另兩個String類型的字段的set方法必須分別以“File字段的set方法名+FileName”和“File字段的set方法名+ContentType”來命名。








































OK!源碼可以我的微軟網盤下載.
posted on 2007-11-27 19:49 々上善若水々 閱讀(3781) 評論(2) 編輯 收藏 所屬分類: Struts2