2012-04-14 7 views
0

Eigentlich die issue von primefaces mit fileuploader zu überwinden, wenn STATE_SAVING_METHOD = Client. Ich dachte, den BalusC-Code zu verwenden, wie wir Servlet 3.0 verwenden, das here bekannt gegeben wird. Das Problem, das ich bin vor, wenn ich den Absenden-Button klicken, ich einen Ajax-Teil reponse wie dieseFormular enctype = "multipart/form-data" führt zu einer Ajax-Teilantwort von validationFailed

erhielt
<?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> 

Es ist nie die Dekodierungsverfahren in FileRenderer.java aufruft. Wenn ich die enctype entfernen, wurde Aufruf der Methode dekodieren und andernfalls offensichtlich auf MultipartRequest auf Linie zu werfen:

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

Bibliotheken: PF 2.2.1 JSF 2.0.9

+0

validationFailed <--- Haben Sie Validatoren im Formular? wie benötigt = "wahr" auf allen Feldern in der Nähe? Versuchen Sie, das Formular vor dem Ausfüllen einiger "Muss" -Felder einzureichen? – Daniel

+0

@Daniel Ich habe die gleiche upload.xhtml wie im Beispiel erwähnt und alle sind optional. – Ravi

Antwort

1

Obwohl ich von STATE_SAVING_METHOD geschaltet = Server zu Client. Ich habe vergessen, die org.primefaces.webapp.filter.FileUploadFilter in meiner web.xml zu entfernen. So reagierte die Primefaces FileUploadFilter immer mit einer teilweisen Ajax-Antwort. Ich habe es entfernt und es funktioniert jetzt gut.

@BalusC, Danke für Ihren wunderbaren Code!

Verwandte Themen