私は、写真(データベースに保存されている)を更新し、それらをより大きなサイズで表示する可能性があるカルーセルです。それはうまくいきます。しかし今、私はそれらを削除したいと思います。そして、それはほとんど機能します。ほとんどの場合、画像は削除されていますが、カルーセルが正しく更新されていません。これが私のコードです:
<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>
または別の質問として、ファイル アップローダーで画像を追加するとカルーセルが正しく更新され、カルーセル内のコマンドリンクで画像を削除すると、なぜカルーセルが正しく更新されないのですか?
もちろん、ページ全体をリロードすると、すべてが正しくなります。しかし、私はそれを望んでいません。