在动作侦听器完成之前执行richfaces reRender

时间:2012-04-23 11:05:04

标签: java richfaces jsf-1.2 rerender

我有一个Richfaces listShuttle组件,我需要对源值(左侧)进行排序。为此,在组件的值发生变化之后,我有一个支持bean方法来对元素进行排序,我想重新渲染listShuttle。

xhtml代码:

<a4j:region>
    <rich:listShuttle id="#{id}_listShuttle"
        sourceValue="#{bean.displayedItems}"
        targetValue="#{bean.selectedItems}" var="item"
        fastOrderControlsVisible="false" orderControlsVisible="false"
        fastMoveControlsVisible="false"
        style="margin-right:15px;margin-bottom:15px;">

        <f:converter converterId="#{converterId}" />
        <a4j:support event="onlistchanged" action="#{bean.sortList}"
            reRender="#{updateId}, #{id}_listShuttle" />

        <rich:column>
            <h:outputText value="#{item.name}" />
        </rich:column>
    </rich:listShuttle>
</a4j:region>

这是我在更多地方使用的组件,所以我将一些参数传递给它。

问题是在重新渲染阶段之后执行了动作action="#{bean.sortList}"。我希望在重新渲染阶段之前执行此操作。

行动的顺序是这样的: - getDisplayedItems - setDisplayedItems - sortList

知道如何在sortList操作之后使listShuttle重新渲染吗?

1 个答案:

答案 0 :(得分:0)

将你的sortList添加immediate = true可以做到吗?