2011-11-03 29 views
1

文件上傳不工作我不知道是否有人設法Primefaces' p:fileupload WebSphere Application Server上組件的工作8.號碼:在WebSphere 8

我用Primefaces 2.2.1版本。

JSF代碼:

<h:form enctype="multipart/form-data"> 
    <p:fileUpload 
      fileUploadListener="#{mailBean.handleFileUpload}" 
      multiple="true" 
      label="choose" 
      allowTypes="*.jpg;*.png;*.gif;" 
      description="Images"/>   
</h:form> 

管Bean的代碼:

public void handleFileUpload(FileUploadEvent event) 
{ 
    files.add(event.getFile()); 
    logger.info("File uploaded into MailBean: " + event.getFile()); 
    System.out.println("File uploaded into MailBean: " + event.getFile()); 
} 

Web.xml中濾波器:(Servlet的3.0)

<filter> 
    <filter-name>PrimeFaces FileUpload Filter</filter-name> 
    <filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class> 
    <init-param> 
     <param-name>thresholdSize</param-name> 
     <param-value>51200</param-value> 
    </init-param> 
    <init-param> 
     <param-name>uploadDirectory</param-name> 
     <param-value>c:/temp/pf</param-value> 
    </init-param> 
</filter> 
<filter-mapping> 
    <filter-name>PrimeFaces FileUpload Filter</filter-name> 
    <servlet-name>Faces Servlet</servlet-name> 
</filter-mapping> 

組件說HTTP錯誤,並變成紅色,在控制檯上,我收到了ViewExpiredException通過MyFaces的:

Caused by: javax.faces.application.ViewExpiredException: /createmail.xhtml 
      No saved view state could be found for the view identifier: /createmail.xhtml 
at org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:128) 
at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:171) 
at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) 
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:189) 

我甚至有鑽嘴魚科,而不是MyFaces的其他兩個版本的嘗試,但我得到的錯誤(2.1:處理器犯規得到調用,2.0.3:viewexpired)

回答

0

你有.jars和web.xml配置(刪除「c:」,默認是路由)?我有同樣的問題,但然後我重新啓動了我的WAS 8.5,它的工作。

0

我使用Websphere 7 JSF 2.0與鑽嘴魚科2和PrimeFaces 3.4.2(共文件上傳-1.2.2.jar和共IO-1.3.2.jar)

我看到文件上傳不要在WebSphere中調用bean。 我看到加載文件但未到達managedBean事件的欄。

看來,如果在WebSphere其他一些過濾器捕獲的HTTP請求和因爲只是消耗:(

你不能獲得通過的FileUpload發送的數據