我需要使用两个不同的 liferay-ui:search-container单个JSP中的标记. 如果我们使用两个 liferay-ui:search-container,则分页会产生问题.标签: 当我点击第一个 liferay-ui:search-container的第3页时标记
如果我们使用两个< 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");
希望这有助于某人.