3

内部でPrimeFaces<p:fileUpload >を使用しています。<h:inputText>私が直面している問題は、画像をアップロードして画像のタイトルを追加するときです。画像はアップロードされますが、inputText 値には null が含まれ、Bean にマッピングされません。

画像アップロード用の JSF ページ:

     <p:fileUpload id="imaload" fileUploadListener="#{ngoPhotoUpload.photoUpload}"  
                         mode="advanced"  multiple="true" 
                          update="messages" 
                           allowTypes="/(\.|\/)(gif|jpe?g|png)$/">
     <h:inputText value="#{ngoPhotoBean.description}"/>
     </p:fileUpload>

ngoPhotoBean.description をアップロードすると、null が含まれます。私はprimefaces 3.0とjsf 2.0を使用しています。どうすれば解決できますか?

4

3 に答える 3

9

fileUploadプロセス属性を使用し、FileUploadEventをINVOKE_APPLICATIONフェーズにプッシュして、次のinputText値を確認します#{ngoPhotoBean.description}

Xhtml:

<h:form>
    <p:fileUpload fileUploadListener="#{ngoPhotoUpload.photoUpload}" process="@form" update="@form" />
    <h:inputText value="#{ngoPhotoBean.description}" />
</h:form>

Java:

public void photoUpload(FileUploadEvent event) {
    if (!PhaseId.INVOKE_APPLICATION.equals(event.getPhaseId())) {
        event.setPhaseId(PhaseId.INVOKE_APPLICATION);
        event.queue();
    } else {
        //do stuff here, #{ngoPhotoBean.description} is set
    }
}
于 2012-06-13T09:58:00.270 に答える
0

そのprimefacesにp:remotecommandタグがあります..そのタグを使用して引数を渡すことができます.このリンクはあなたを助けることができます..

プライムフェイスでのファイルアップロード中にパラメーターを渡す方法

于 2012-06-13T06:06:37.277 に答える