IceFaces - 服务器端排序列提取

IceFaces - server side sort column extraction

我有一个简单的 ace:dataTable 组件,带有以下排序侦听器:

<ace:ajax event="sort" execute="@this" render="@all" listener="#{userModel.myListener}"/>

在服务器端我有以下侦听器:

public void myListener(AjaxBehaviorEvent ajaxBehaviorEvent){
//todo extract sort column name
}

如何提取侦听器中的当前排序列值?我可以提取 AjaxBehaviorEvent 的源代码,这是一个 DataTable,它有一个 getSortCriteria() 方法,returns,我想要的,但它是受保护的,所以我不能使用它。还有其他选择吗?

谢谢。

您使用 getColumns() 方法获取 DataTable 的列。如果 Column.hasSortPriority() 为真,则选择此列作为订购标准。您可以使用 Column.isSortAscending() 来确定排序的方向。