【问题标题】:Why is reloaded every list on a ajax request?为什么在 ajax 请求中重新加载每个列表?
【发布时间】:2014-10-10 10:49:46
【问题描述】:

我有一些代码块,比如下一个,在一个表单中。

<a4j:outputPanel id="listValues">
    <a4j:repeat value="#{listBean.values}" var="aValue">
        <a4j:outputPanel rendered="#{not empty aValue.value}">
            <h:selectBooleanCheckbox id="selectRecordCheck"
                value="#{listBean.aValueSelectedMap[aValue.value]}">
                <a4j:ajax event="valueChange" execute="@this"
                    render="tagsValues, listValues"
                    listener="#{listBean.listenerValueChange}" />
                <a4j:param name="id" value="#{aValue.value}" />
                <a4j:param name="value"
                    value="#{listBean.aValueSelectedMap[aValue.value]}" />
            </h:selectBooleanCheckbox>
            <h:outputLabel value="#{aValue.label}" />
            <br />
        </a4j:outputPanel>
    </a4j:repeat>
</a4j:outputPanel>
<a4j:outputPanel id="tagsValues">
    <table>
        <a4j:repeat value="#{listBean.listaVirtualEstadoSeleccionados}"
            var="tag">
            <tr>
                <td><h:outputText styleClass="tags" value="#{tag}" /></td>
            </tr>
        </a4j:repeat>
    </table>
</a4j:outputPanel>

问题在于单击复选框会重新加载其他复选框组的列表(调用其他 managedBean 属性)。

如何避免这种行为?

在 JBoss AS6.1.0、Mojarra 2.0.3、RichFaces 4.3.7 上运行 谢谢

【问题讨论】:

    标签: ajax jsf-2 richfaces


    【解决方案1】:

    好的,

    我们有 Mojarra 2.0.3-b05 版本。我已经升级到 2.0.11(我在 2011 年发现了一个关于 2.1 的错误,可能是相关的)并在 a4j:ajax 元素中添加了以下代码

    immediate="true" limitRender="true" bypassUpdates="true"
    

    也许添加属性就足够了,但我认为无论如何升级jsf版本是个好主意。

    PD:我认为有一个错误,因为我认为它没有感知到这种行为。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-03
      • 1970-01-01
      • 2021-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多