2012-03-12 10 views
0

rich:fileUploaderを使用してファイルをアップロードしようとしていて、uploadListenerをトリガーしていません。ここでFileUploaderがactionListenerをトリガーしない

はコードで、何かが:)

<f:view> 
    <a4j:loadScript src="resource://jquery.js" /> 
    <h:form id="uploadFileForm" prependId="false"> 
     <rich:fileUpload immediateUpload="true" 
      listHeight="150px;" noDuplicate="true" listWidth="350px;" 
      maxFilesQuantity="1" locale="de" 
      fileUploadListener="#{paramFileUpload.fileUploadsListener}"> 
     </rich:fileUpload>   
    </h:form> 
    </f:view> 

public void fileUploadsListener(UploadEvent event) { 
    LOGGER.info("In ActionListener of file upload"); 
    UploadItem item = event.getUploadItem(); 
    LOGGER.info("item : " + item.getFileSize() + ", " + item.getContentType() + ", " + item.getData()); 
    if(item.getFile() != null) { 
     LOGGER.info("File name and size : " + item.getFile().getPath() + ", " + item.getFile().getTotalSpace()); 
    } 
} 

が不足している場合は私が知っているこれは、web.xmlに

<context-param> 
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name> 
    <param-value>server</param-value> 
</context-param> 

ページがロードされると、放火犯コンソールは、以下のようerrro示しています:

parentForm is null 
ProgressBar={};ProgressBar=Class.creat...' {parentForm=parentForm.parentNode;} 

、ファイルがファイルブラウザから選択される、

this.progressBar is undefined 
if(this.labelMarkup){var progressData=...._fileSizeScriptTimeoutId=undefined;} 
+1

アップロードするファイルへの私のコードはあなたのものとよく似ており、私はweb.xmlで同じ設定をしています。ページにネストされたフォームがないことを確認します。 –

+0

いいえ、ページにはネストされたフォームはありません。私はまだここで何が間違っているのか分かりません:( – Satya

+0

非常に奇妙です。ところで、あなたは 'fileUpload'コンポーネントだけのページをテストしましたか?たぶん、スクリプトの設定だけで、web.xmlのコンテキストパラメータ'org.richfaces.LoadStyleStrategy'私は値' ALL'で設定しました。 –

答えて

0

最後に、サーブレットをweb.xmlに定義し、t:inputFileUploadを使用してファイルをアップロードすることで、tomahawkという方法で行う必要がありました。これは、私のバッキングビーンをトリガーしてUploadedFileを生成します:)

関連する問題