我有一个 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 重新呈现吗?