実際には、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