【发布时间】:2011-12-07 01:32:54
【问题描述】:
我在使用 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 之间没有直接互连(其他一些人也看过我的代码)。 那么 - 这里有什么问题?我错过了什么?
有没有其他方法可以在 ICEFaces 推送更新上隐藏/显示 JSF 组件?
【问题讨论】:
标签: java ajax jsf xhtml icefaces