【问题标题】:JSF visibility on ICEFaces Push update - strange behaviorICEFaces Push 更新上的 JSF 可见性 - 奇怪的行为
【发布时间】: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


    【解决方案1】:

    我使用visible="#{mybean.visible}" 属性来控制 从我的 Java 托管 bean 中查看我的 ICEfaces 组件。

    我对你得到一些奇怪的结果并不感到惊讶 混合&lt;c:choose&gt; 和 ICEpush,因为这样就可以了 ICEfaces/ICEpush 很难确定发生了什么变化 页面,需要推送到客户端。

    你能使用visible属性和托管bean吗 在没有&lt;c:choose&gt; 的情况下打开/关闭组件? 然后页面显示的所有逻辑都在托管bean中 而不是在 JSF 页面中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-30
      • 1970-01-01
      • 2013-08-01
      • 1970-01-01
      • 2013-01-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多