[J2EE] Richfaces+Seam的檔案上傳元件心得

看板java作者 (無道德事業集團)時間17年前 (2008/08/26 01:53), 編輯推噓2(203)
留言5則, 3人參與, 最新討論串1/1
因為JSF在file-upload這方面算是挺不便的, 我想在此分享一點點Richfaces fileUpload的實作心得.. 先說明我用的套件版本: richfaces-impl - 自己build的版本, 約是8月中的版本 richfaces-ui - 3.2.1 jboss-seam - 2.0.3 CR1 ============================================================= view端我想不用多說, 主要就指定好uploadListener就可以: <rich:fileUpload fileUploadListener="#{fileBean.uploadListener}" immediateUpload="true" maxFilesQuantity="10" noDuplicate="true" /> 重點在於接的後端, 如果不是在每次event發生時都處理完並persist該file時, 可以將fileBean宣告為stateful session bean. 以下為簡單的example: @Stateful @Scope(SESSION) @Name("fileBean") public class FileBean{ //略.. //用來暫存上傳檔案的list private List<File> files; //略.. public void uploadListener(UploadEvent event) throws IOException { //這個method就是rich:fileUpload所指定的listener //可以在這邊對檔案做一點處理, 例如先將這堆檔案padding到一個list去 files.add(event.getUploadItem().getFile()); //做個log記錄一下 log.info(event.getUploadItem().getFileName + " attached!!"); } } 這樣當你處理完所有上傳的檔案後, 再對此session bean做一個最後處理的動作即可. ==================================================================== 應該很多人知道了... 不過還是分享給各位JSF的受害者(誤) XD -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.193.83.24

08/26 09:49, , 1F
seam 本身就有檔案上傳的功能, 以及可以用conversation
08/26 09:49, 1F

08/26 09:51, , 2F
用JSF的人不代表會用seam, seam只是把他們都整合起來的
08/26 09:51, 2F

08/26 09:52, , 3F
framework, JSF只是view層的工具還是有很多可以取代他
08/26 09:52, 3F

08/26 14:02, , 4F
感謝前輩指點, conversation的確是個solution
08/26 14:02, 4F

08/26 14:39, , 5F
好文我推 XD
08/26 14:39, 5F
文章代碼(AID): #18il6Il5 (java)