当前位置 : 主页 > 编程语言 > java >

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

来源:互联网 收集:自由互联 发布时间:2021-06-25
我需要使用两个不同的 liferay-ui:search-container单个JSP中的标记. 如果我们使用两个 liferay-ui:search-container,则分页会产生问题.标签: 当我点击第一个 liferay-ui:search-container的第3页时标记
我需要使用两个不同的< liferay-ui:search-container>单个JSP中的标记.

如果我们使用两个< liferay-ui:search-container>,则分页会产生问题.标签:

>当我点击第一个< liferay-ui:search-container>的第3页时标记第二个< liferay-ui:search-container>标签也移动到第三页.
>另外,如果是第一个< liferay-ui:search-container>标签我在第3页,然后点击第二页的第2页< liferay-ui:search-container>然后第二个标签转到第2页,但第一个标签结果重置为第1页.

它们应该相互独立.

环境:Liferay 6.

我发现了两种不同的方法:

>这可以通过在< liferay-ui:search-container>中使用curParam属性来实现.标签,注意到以下代码中的curParam =“folderCurParam”和curParam =“fileCurParam”,我通过liferay的源代码docroot / html / portlet / document_library_display / view.jsp和docroot / html / portlet / document_library_display / view_file_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>

>我在liferay的源代码docroot / html / portlet / journal / select_document_library.jsp中再次发现了这个,这使用SearchContainer constructor设置curParam,注意文件夹的参数“cur1”和文件“cur2”:

// 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");

希望这有助于某人.

网友评论