form enctype =“multipart / form-data”导致validationFailed的ajax部分响应

时间:2012-04-14 18:01:26

标签: jsf jsf-2 primefaces

实际上当STATE_SAVING_METHOD = client时,用fileuploader来克服issue的primefaces。我想在使用Servlet 3.0发布here时使用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中调用decode方法。如果我删除了enctype,它正在调用decode方法,显然无法在线转换为MultipartRequest:

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

库: PF 2.2.1 JSF 2.0.9

1 个答案:

答案 0 :(得分:1)

虽然我从STATE_SAVING_METHOD =服务器切换到了客户端。我忘了删除web.xml中的org.primefaces.webapp.filter.FileUploadFilter。所以Primefaces FileUploadFilter每次响应部分ajax响应。我把它删除了,现在工作正常。

@BalusC,谢谢您精彩的代码!