【问题标题】:Update preRenderView component with ajax使用 ajax 更新 preRenderView 组件
【发布时间】:2018-05-05 14:37:00
【问题描述】:

有没有办法用 ajax 更新 preRenderView 组件?

一些例子:

<html>
    <f:event type="preRenderView" listener="#{bean1.load}" />
    <f:event type="preRenderView" listener="#{bean2.load}" />

    <body>  
        <div jsf:rendered="#{bean1.enabled}" >
            // some code here
        </div>

        </div jsf:rendered="#{bean2.enabled}" >
            // some code here
        </div>
    </body>
</html>

在此示例中,我希望仅在启用 bean1 时触发案例 1 的 preRenderView。在 Java 代码中添加检查不是一个好主意,因为每次都会调用会话,而且我有一个比上面的简单示例更复杂的事情。

我可以将 f:events 包装在任何组件中吗?向组件添加渲染属性并使用 ajax 调用更新它们?

据我所知,不允许将任何其他组件添加为头或正文作为 html 标记的子项。 是否允许将 preRenderView 打包在 body 元素中并用简单的 jsf:div 包裹?

【问题讨论】:

    标签: html ajax jsf primefaces jsf-2


    【解决方案1】:

    改用preRenderComponent 事件并将那些 f:events 放在 div 中。

    我不确定它是否能很好地与这种 JSF 绑定配合使用。您可能需要将这些 div 替换为 h:panelGroup layout="block"(它也会呈现简单的 div)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-07
      • 1970-01-01
      • 2013-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-27
      相关资源
      最近更新 更多