Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting Liferay比较器不工作_Sorting_Liferay_Article - Fatal编程技术网

Sorting Liferay比较器不工作

Sorting Liferay比较器不工作,sorting,liferay,article,Sorting,Liferay,Article,我正在使用查找结构文章的方法: List<JournalArticle> articles = JournalArticleLocalServiceUtil.getStructureArticles(groupId, "15566", 0, 10000, comparator); 消息永远不会打印,结果也不会排序。。。需要帮忙吗 结果未排序 因为您总是返回1 现在要创建一个OrderByComparator,您需要做更多的事情 如果您查看不同的持久化方法使用的是什么,您会有一

我正在使用查找结构文章的方法:

List<JournalArticle> articles = JournalArticleLocalServiceUtil.getStructureArticles(groupId, "15566", 0, 10000, comparator);   
消息永远不会打印,结果也不会排序。。。需要帮忙吗

结果未排序

因为您总是返回
1

现在要创建一个
OrderByComparator
,您需要做更多的事情

如果您查看不同的持久化方法使用的是什么,您会有一些想法

另外,看看Liferay实现的一些比较器,可以了解您需要做什么:

  • -你可以查一下
  • 关于在liferay中实现
    OrderByComparator
    的超短教程
  • 您需要创建3个字段:
  • public static final String ORDER\u BY\u ASC
    -指定要对结果进行排序的字段。以上升的方式
  • public static final String ORDER_BY_DESC
    -指定要对结果进行排序的字段。按降序排列
  • public static final String[/ORDER\u BY\u FIELDS
    -指定排序所需的不同字段(有关多个字段,请参阅
    UserFirstNameComparator
  • 对要排序的字段执行
    compare
    方法
  • 输入
    getOrderBy()
    方法-参考
    articletTitleComparator
  • 输入
    getOrderByFields()
    方法-参考
    articletTitleComparator
  • 输入
    isascing()
    方法,该方法在
    compare
    getOrderBy
    方法中是必需的,以确定它是asc还是desc-请参阅
    articletTitleComparator
  • 信息永远不会被打印出来

    因为您没有实现这些方法,所以它会忽略您传递的
    OrderByComparator
    。您可以检查正在使用的方法的源代码


    希望这能有所帮助。

    一种可能性是,返回结果集的大小可以为0,因此不会调用比较器。非常感谢您的回答。
    public class OrderByEventsStartDate extends OrderByComparator{  
    public int compare(Object o1, Object o2){  
        System.out.println("comparator test");  
        return 1;  
    }  
    }