[英]JSF visibility on ICEFaces Push update - strange behavior
我對使用ICEFaces Push更新的JSF組件的條件渲染存在問題。
用例是我遍歷目錄中的圖像,並在新圖像上調用ICEFaces Push Renderer,以便xhtml頁面將獲取更新的圖像及其信息。 圖像顯示在一個面板中,而其信息則顯示在另一個面板中。 信息並非始終可以訪問,並且有時無法訪問-我想顯示團隊徽標而不是信息面板。 這是xhtml代碼:
<ice:graphicImage height="1024" width="768" value="#{viewBean.image}"></ice:graphicImage>
<h:panelGrid border="0" columns="1">
<c:choose>
<c:when test="${viewBean.infoAccessible}">
<h:panelGrid border="0" columns="2">
<h:outputText value="Data:"></h:outputText>
<h:outputText value="#{viewBean.info.time}"></h:outputText>
</h:panelGrid>
</c:when>
上面的代碼以及服務器端代碼可以按預期工作,但是有一個我不明白的奇怪副作用。 應該有1個viewBean.image調用,但是它會增加...,以便在應用程序運行時-最多有70個以上的方法調用,而當我刪除viewBean.infoAccessible條件檢查時,情況並非如此。
...我還可以提供服務器端源,但是viewBean.image和vievBean.infoAccessible之間沒有直接的互連(另一些ppl也查看了我的代碼)。 所以-這是什么問題? 我想念什么?
還有其他方法可以在ICEFaces Push更新中隱藏/顯示JSF組件嗎?
我使用visible="#{mybean.visible}"
屬性來控制Java受管理bean中ICEfaces組件的可見性。
混合<c:choose>
和ICEpush會得到一些奇怪的結果,我並不感到驚訝,因為這使ICEfaces / ICEpush很難確定頁面上發生了什么更改並將其推送給客戶端。
您是否可以使用visible
屬性和托管bean在沒有<c:choose>
情況下打開/關閉組件? 然后,所有用於頁面顯示的邏輯都在托管bean中,而不是在JSF頁面中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.