精華區beta java 關於我們 聯絡資訊
因為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