2016-11-07 10 views
1

Heyho、JSF FileUploadはuiを使用しても動作しません。define

PrimeFaces(6.0)を使用してJSFアプリケーションを作成する際に問題が発生しました。問題は、テンプレート化(ui:define)を使用すると、アプリケーションのFileUploadが機能しなくなることです。同じページをテンプレートなしで構築すると(同じ構造、基本的にテンプレートを使用してサンプルコードを挿入すると)、それは魅力的に機能します。どちらのページも同じです(出力を比較しました)テンプレートを使用していますが、ブラウザコンソールで次の警告メッセージが表示されます。

メインスレッドの同期XMLHttpRequestは、エンドユーザーの経験に有害な影響を及ぼします。詳細については、https://xhr.spec.whatwg.org/を確認してください。

ui:defineを使用しているときにこのエラーを引き起こす原因は何ですか?私が言及したように、テンプレートを使用しない場合の出力は同じですが、機能していないので、一般的なコードでエラーを除外します。

マイテンプレートは、この(つまらない部分を削除)のようになります。

<html xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:ui="http://xmlns.jcp.org/jsf/facelets" 
    xmlns:h="http://xmlns.jcp.org/jsf/html" 
    xmlns:p="http://primefaces.org/ui"> 

    <h:head> 
    ... 
    </h:head> 

    <h:body> 
    <nav> 
     ... 
    </nav> 

    <div class="wrapper"> 
     <header> 
      <div class="header-title"> 
       ... 
      </div> 
      <div class="header-navbar"> 
       ... 
      </div> 

     </header> 
     <div class="container"> 
      <div id="content" class="center_content"> 
       <ui:insert name="content">Content</ui:insert> 
      </div> 
      <footer> 
       ... 
      </footer> 
     </div> 
    </div> 
    </h:body> 
</html> 

<h:form id="fileUpoad" prependId="false" enctype="multipart/form-data"> 
<p:fileUpload fileUploadListener="#{fileUploadBean.uploadPhoto}" mode="advanced" update="messages" auto="true" sizeLimit="100000" allowTypes="/(\.|\/)(gif|jpe?g|png)$/" /> 
<p:messages id="messages" autoUpdate="true" closable="true" /> 
</h:form> 

<ui:insert name="content">Content</ui:insert> 

を交換すると、動作しますが、これやって:

<ui:composition template="/resources/templates/dashboard_template.xhtml" 
      xmlns="http://www.w3.org/1999/xhtml" 
      xmlns:h="http://java.sun.com/jsf/html"  
      xmlns:p="http://primefaces.org/ui" 
      xmlns:ui="http://xmlns.jcp.org/jsf/facelets"> 

    <ui:define name="title"> 
     Dashboard 
    </ui:define> 
    <ui:define name="content"> 
    <h:form id="fileUpoad" prependId="false"  enctype="multipart/form-data"> 

     <p:fileUpload fileUploadListener="#{fileUploadBean.uploadPhoto}" mode="advanced" 
         update="messages" auto="true" sizeLimit="100000" allowTypes="/(\.|\/)(gif|jpe?g|png)$/" /> 

     <p:messages id="messages" autoUpdate="true" closable="true" /> 

    </h:form> 
    </ui:define> 
</ui:composition> 

上記のエラーが発生します。何か案は?

+0

<?xml version="1.0" encoding="UTF-8"?> <Context allowCasualMultipartParsing="true"> </Context> 

からのcontext.xml

に必要なのか?ページを読み込むだけですか?アップロードを行っていますか? – Kukeltje

+0

両方のケースでjsファイルを(ブラウザ開発ツールで)読み込むのに違いはありますか? – Kukeltje

+0

@Kukeltjeアップロードするときにこれが表示されます。 –

答えて

関連する問題