我使用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>
Run Code Online (Sandbox Code Playgroud)
当我上传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>
Run Code Online (Sandbox Code Playgroud)
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
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4939 次 |
| 最近记录: |