0

実際には、STATE_SAVING_METHOD=client の場合に fileuploader を使用して primefacesの問題を解決します。ここに投稿された Servlet 3.0 を使用しているので、BalusC コードを使用することを考えました。私が直面している問題は、送信ボタンをクリックしたときに、このような ajax 部分応答を受け取ったことです。

  <?xml version="1.0" encoding="UTF-8" ?>
  <partial-response>
    <changes>
     <update id="javax.faces.ViewState">
      <![CDATA[somejunk]]> 
     </update>
    </changes>
   <extension primefacesCallbackParam="validationFailed">{"validationFailed":false}</extension> 

FileRenderer.java でデコード メソッドを呼び出すことはありません。enctype を削除すると、decode メソッドが呼び出され、オンラインで MultipartRequest へのキャストに明らかに失敗していました。

 File file = ((MultipartRequest) context.getExternalContext().getRequest()).getFile(clientId);

ライブラリ: PF 2.2.1 JSF 2.0.9

4

1 に答える 1

1

STATE_SAVING_METHOD=server から client に切り替えましたが。org.primefaces.webapp.filter.FileUploadFilterweb.xml でを削除するのを忘れました。そのため、PrimefacesFileUploadFilterは毎回部分的な ajax 応答で応答していました。私はそれを削除しましたが、現在は正常に動作しています。

@BalusC、素晴らしいコードをありがとう!

于 2012-04-25T22:28:30.003 に答える