2011-06-20 13 views
0

<rich:popupPanel />には、<rich:fileUpload />があります。これは、fileUploadListenerが#{assemblyMB.listener}と定義されています。JSF2ページからマネージドBeanメソッドにアクセスできないのはなぜですか?

私が持っているJSFページで
public void listener(FileUploadEvent event) throws Exception { 
    System.out.println("listener"); 
} 

:このリスナーメソッドは次のように管理Bean上で定義されているマネージドBeanの

<rich:fileUpload id="popupFileUpload" 
    fileUploadListener="#{assemblyMB.listener}" 
    onuploadcomplete="#{rich:component('popup')}.hide(); return false;" 
</rich:fileUpload> 

、私は(名前は= "assemblyMB" 注釈@ManagedBeanを宣言しました)。

ファイルがアップロードされたときにマネージドBeanのメソッドにアクセスするつもりですが、失敗します。私はなぜそれが起こっているのか分かりません。

誰でも私に光を当ててもらえますか?事前のおかげで、

gtludwig

答えて

0

と仮定すると、RichFacesの4.0は、あなたが保証するために必要なのは、親<h:form>multipart/form-dataとしてリクエストボディをコードするように設定されていることです。

<h:form enctype="multipart/form-data"> 

ファイルが正常にアップロードされなければならないとアップロードがサーバ側に到着したときに、リスナーメソッドが呼び出されるべきこの方法です。

+0

時間をいただきありがとうございます!はい、Richfaces 4.0。しかし、コンソールに何も表示されていない。 タグがテンプレートファイルに設定されていますが、これが理由でしょうか?私はファイルがアップロードされていると思います。ファイルのアップロード後にページのコンポーネントにアクセスすると、(意図した動作)がポップアップし、ファイルがそこにリストされます。 – gtludwig

関連する問題