Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.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
为什么opencms使用java代码对内容文档进行排序,而不是使用sql,比如;日期描述,名称asc;?_Java_Opencms - Fatal编程技术网

为什么opencms使用java代码对内容文档进行排序,而不是使用sql,比如;日期描述,名称asc;?

为什么opencms使用java代码对内容文档进行排序,而不是使用sql,比如;日期描述,名称asc;?,java,opencms,Java,Opencms,我想知道这里是否还有其他一些技巧可以懒洋洋地使用?似乎很难定义一个新的比较器。 以下是CMSDaterSourceComparator比较方法的代码: public int compare(CmsResource res0, CmsResource res1) { if (res0 == res1) { return 0; } CmsDateResourceComparator key0 = m_keys.get(res0.getStructu

我想知道这里是否还有其他一些技巧可以懒洋洋地使用?似乎很难定义一个新的比较器。 以下是CMSDaterSourceComparator比较方法的代码:

    public int compare(CmsResource res0, CmsResource res1) {

    if (res0 == res1) {
        return 0;
    }

    CmsDateResourceComparator key0 = m_keys.get(res0.getStructureId());
    CmsDateResourceComparator key1 = m_keys.get(res1.getStructureId());

    if (key0 == null) {
        // initialize key if null
        key0 = CmsDateResourceComparator.create(m_cms, res0, m_dateIdentifiers);
        m_keys.put(res0.getStructureId(), key0);
    }
    if (key1 == null) {
        // initialize key if null
        key1 = CmsDateResourceComparator.create(m_cms, res1, m_dateIdentifiers);
        m_keys.put(res1.getStructureId(), key1);
    }

    if (m_asc) {
        // sort in ascending order
        if (key0.m_date > key1.m_date) {
            return 1;
        }
        if (key0.m_date < key1.m_date) {
            return -1;
        }
    } else {
        // sort in descending order
        if (key0.m_date > key1.m_date) {
            return -1;
        }
        if (key0.m_date < key1.m_date) {
            return 1;
        }
    }
public int比较(CmsResource res0、CmsResource res1){
如果(res0==res1){
返回0;
}
CmsDateResourceComparator key0=m_keys.get(res0.getStructureId());
CmsDateResourceComparator key1=m_keys.get(res1.getStructureId());
if(key0==null){
//如果为空,则初始化密钥
key0=CMSDaterSourceComparator.create(m_cms、res0、m_dateIdentifiers);
m_keys.put(res0.getStructureId(),key0);
}
if(key1==null){
//如果为空,则初始化密钥
key1=cmsdatersourcecomparator.create(m_cms、res1、m_dateIdentifiers);
m_keys.put(res1.getStructureId(),key1);
}
如果(m_asc){
//按升序排序
如果(键0.m_日期>键1.m_日期){
返回1;
}
if(键0.m_日期<键1.m_日期){
返回-1;
}
}否则{
//按降序排序
如果(键0.m_日期>键1.m_日期){
返回-1;
}
if(键0.m_日期<键1.m_日期){
返回1;
}
}

自OpenCms 8以来,您可以使用SolrbyQuery收集器。使用此收集器,您可以执行Solr查询。这是一个强大的功能

<cms:contentload collector="byQuery" 2 param="type:v8flower"> 
    <cms:contentaccess var="content" /> 
    ${content.value.Title} 
</cms:contentload> 

${content.value.Title}