如何在单个JSP中使用两个(多个)Liferay UI搜索容器标记

如何在单个JSP中使用两个(多个)Liferay UI搜索容器标记,liferay,liferay-6,Liferay,Liferay 6,我需要在一个JSP中使用两个不同的标记 如果我们使用两个标记,分页会产生问题: 当我点击第一个标签的第三页时,第二个标签也会移动到第三页 此外,如果对于第一个标记,我位于第3页,并且我单击了第二个标记的第2页,则第二个标记转到第2页,但第一个标记结果重置为第1页 它们应该相互独立 环境:Liferay 6.+我找到了两种不同的方法: 这可以通过使用标记中的curParam属性来实现,注意下面代码中的curParam=“folderCurParam”和curParam=“fileCurParam”

我需要在一个JSP中使用两个不同的
标记

如果我们使用两个
标记,分页会产生问题:

  • 当我点击第一个
    标签的第三页时,第二个
    标签也会移动到第三页

  • 此外,如果对于第一个
    标记,我位于第3页,并且我单击了第二个
    标记的第2页,则第二个标记转到第2页,但第一个标记结果重置为第1页

  • 它们应该相互独立


    环境:Liferay 6.+

    我找到了两种不同的方法:

  • 这可以通过使用
    标记中的
    curParam
    属性来实现,注意下面代码中的
    curParam=“folderCurParam”
    curParam=“fileCurParam”
    ,我通过liferay的源代码
    docroot/html/portlet/document\u library\u display/view.jsp
    docroot/html/portlet/document\u library\u display/view\u file\u entries.jspf

    <liferay-ui:search-container
            curParam="folderCurParam"
            emptyResultsMessage="no-folders-to-display"  
            iteratorURL="<%= portletURL %>"
            delta="10">
    
        <liferay-ui:search-container-results
                results="<%=folderResults %>"
                total="<%= folderTotal %>" />
    
        <liferay-ui:search-container-row
                className="com.liferay.portal.kernel.repository.model.Folder"
                keyProperty="userId"
                modelVar="folder">
    
            <liferay-ui:search-container-column-jsp align="left"
                    path="/html/documentdisplay/folder_search_results.jsp" />
    
        </liferay-ui:search-container-row>
    
        <liferay-ui:search-iterator />
    
    </liferay-ui:search-container>
    
    <liferay-ui:search-container
            curParam="fileCurParam"
            emptyResultsMessage="no-files-to-display" 
            iteratorURL="<%= portletURL %>"
            delta="10">
        <liferay-ui:search-container-results
                results="<%=fileResults %>"
                total="<%= fileTotal %>" />
    
        <liferay-ui:search-container-row
                className="com.liferay.portal.kernel.repository.model.FileEntry"
                keyProperty="userId"
                modelVar="fileEntry">
    
            <liferay-ui:search-container-column-jsp align="left"
                    path="/html/documentdisplay/files_search_results.jsp" />
    
        </liferay-ui:search-container-row>
    
        <liferay-ui:search-iterator />
    
    </liferay-ui:search-container>
    
  • 希望这对别人有帮助

    // for folders
    SearchContainer searchContainer = new SearchContainer(renderRequest, null, null, "cur1", SearchContainer.DEFAULT_DELTA, portletURL, headerNames, "there-are-no-folders");
    
    // for files
    searchContainer = new SearchContainer(renderRequest, null, null, "cur2", SearchContainer.DEFAULT_DELTA, portletURL, headerNames, "there-are-no-documents-in-this-folder");