1
我有一個適用於servlet的上傳例程。現在,我試圖把這個程序在這樣的JSF託管bean:JSF託管的上傳bean?
public void uploadFile() throws IOException, ServletException{
FacesContext facesContext = FacesContext.getCurrentInstance();
ExternalContext externalContext = facesContext.getExternalContext();
HttpServletRequest request = (HttpServletRequest) externalContext.getRequest();
HttpServletResponse response = (HttpServletResponse) externalContext.getResponse();
Part filePart = request.getPart("item");
String filename = getFilename(filePart);
InputStream filecontent = filePart.getInputStream();
//persist the data here
}
試圖在服務器上運行它的時候,當然有錯誤消息:「PWC4016:Request.getPart被稱爲無多或者將一個@MultipartConfig添加到servlet中,或者將一個multipart-config元素添加到web.xml中「
但是我不知道把這個註解放在哪裏,我也沒有把jsf生成的servlet的名稱我的託管bean,所以我不能把它放到web.xml中。 把這個例程放到一個託管bean中通常是一個壞主意,還是應該堅持servlet變體?
我目前使用JUpload小程序上傳文件,因此上傳是沒有問題的。相反,使用託管bean處理上載似乎目前還不可能 – nico1510
如果源不是JSF視圖,那麼爲什麼還需要JSF模型呢?實際上就是使用一個簡單的servlet。即使使用JSF 2.2,它也不會(很好)成爲可能。 – BalusC
由於我有一個文件下載鏈接在我的jsf和一個託管的bean服務文件下載(根據你的文章[鏈接](http://stackoverflow.com/a/3428207/1644061)),我認爲這將是一個把這個上傳例程放在這個bean中也是個好主意。但我認爲那是錯誤的決定吧? – nico1510