我使用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.我该如何解决?
使用fileUpload的process属性,并将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
    }
}
| 归档时间: | 
 | 
| 查看次数: | 4939 次 | 
| 最近记录: |