我有两个a4j:outputPanels,如果支持bean上的imageSet
布尔值返回false,则不应显示。
另一个outputPanel有一个a4j:commandButton
,动作调用removeImage
设置了imageSet = false。但是,当它重新显示image
时,仍会显示图像。是否可以将图像存储在缓存中并仍然显示它?
图像仍然位于src
所指向的位置,我只是不希望在按下此按钮时显示该图像。有任何想法吗?
<a4j:outputPanel id ="image"
rendered="#{userInfo.imageSet}">
<img id="signatureImage"
src="/document/signature?imageId=#{userInfo.imageId}"
alt="No Image"/>
<br/>
</a4j:outputPanel>
<a4j:outputPanel id="Display">
<a4j:commandButton id="removeButton"
action="#{userInfo.removeImage}"
immediate ="true"
value="Remove Uploaded Signature"
disabled="#{!userInfo.stampSet}"
rendered="#{userInfo.editMode}"
onclick="this.disabled=true"
ajaxSingle="true"
styleClass="delete-button"
reRender="image">
</a4j:commandButton>
[Other things here, not relevant]
</a4j:outputPanel>
答案 0 :(得分:0)
将它全部放在panelGroup中。不渲染outputPanel会使得没有img标记可以从屏幕上更新/删除,而是将图像留在那里。
<a4j:outputPanel id ="image">
<h:panelGroup rendered="#{userInfo.stampSet}}">
<img id="signatureImage"
src="/document/signature?signatureId=#{userInfo.userStampId}"
alt="No Image"/>
<br/>
</h:panelGroup>
</a4j:outputPanel>