Jsf 删除旋转木马中的图片+;更新
我有一个旋转木马,可以更新图片(存储在db中)并以更大的尺寸查看它们。那很好。但现在,我想删除它们。这几乎奏效了。几乎意味着,图片已被删除,但转盘未正确刷新。这是我的密码:Jsf 删除旋转木马中的图片+;更新,jsf,primefaces,xhtml,Jsf,Primefaces,Xhtml,我有一个旋转木马,可以更新图片(存储在db中)并以更大的尺寸查看它们。那很好。但现在,我想删除它们。这几乎奏效了。几乎意味着,图片已被删除,但转盘未正确刷新。这是我的密码: <p:tab title="#{vms_uimsgs['vehicle.tab.images']}"> <h:form id="pictures" enctype="multipart/form-data"> <p:fileUpload fileUploadLis
<p:tab title="#{vms_uimsgs['vehicle.tab.images']}">
<h:form id="pictures" enctype="multipart/form-data">
<p:fileUpload fileUploadListener="#{vmsVehicleActionBean.handleFileUpload}" mode="advanced" update="vehiclePictureCarousel" sizeLimit="10000000" allowTypes="/(\.|\/)(gif|jpe?g|png)$/" />
<p:carousel id="vehiclePictureCarousel" var="imageId" value="#{vmsVehicleActionBean.imageIds}" itemStyleClass="vehiclePictureItem" effect="fade">
<f:facet name="header" value="#{vms_uimsgs['vehicle.tab.images']}"/>
<p:panelGrid columns="1" style="width:100%" cellpadding="5">
<p:graphicImage value="#{graphicImageStore.streamedImageById}" rendered="#{graphicImageStore.hasImage(imageId)}">
<f:param name="id" id="id" value="#{imageId}" />
</p:graphicImage>
<p:commandLink id="deleteImage" update="vehiclePictureCarousel" oncomplete="#{vmsVehicleActionBean.deleteImage()}" title="Delete Picture">
<h:outputText styleClass="ui-icon ui-icon-close" style="margin:0 auto;" />
<f:setPropertyActionListener value="#{imageId}" target="#{vmsVehicleActionBean.selectedImageId}" />
</p:commandLink>
</p:panelGrid>
</p:carousel>
</h:form>
</p:tab>
或者问另一个问题,为什么当我用文件上传器添加图片时,我的旋转木马会正确刷新,而当我在旋转木马中删除带有commandlink的图片时,我的旋转木马不会正确刷新
当然,当重新加载整个页面时,一切都是正确的。但是我不想这样。问题来自
oncomplete=“#{vmsvicleActionBean.deleteImage()}”
,oncomplete
是在ajax完成时调用javascript方法的属性,因此您应该使用:
facelet:
豆子:
非常感谢。这就是解决办法。
actionListener="#{vmsVehicleActionBean.deleteImage(imageId)}"
public void deleteImage(String imageId){
//delete here
}