Pagination Liferay搜索容器分页
我在代码中使用了liferay ui:search容器 搜索结果将正确显示,直到我单击下一步。这个portlet正在被重新加载,这将把我带到portlet的第一页,破坏呈现的搜索结果Pagination Liferay搜索容器分页,pagination,liferay,Pagination,Liferay,我在代码中使用了liferay ui:search容器 搜索结果将正确显示,直到我单击下一步。这个portlet正在被重新加载,这将把我带到portlet的第一页,破坏呈现的搜索结果 <% PortletURL urlPaginator=renderResponse.createActionURL(); urlPaginator.setParameter("param1", value1); urlPaginator.setParameter("param2",value2); %>
<%
PortletURL urlPaginator=renderResponse.createActionURL();
urlPaginator.setParameter("param1", value1);
urlPaginator.setParameter("param2",value2);
%>
<liferay-ui:search-container iteratorURL="<%=urlPaginator%>">
即使在重新加载portlet之后,我如何保留搜索结果?liferay搜索容器会根据单击“下一步”和“上一步”时传递的参数工作 请注意“下一个”和“上一个”链接的URL 例如,URL将具有如下参数: p\u p\u id=15&p\u p\u lifecycle=0&p\u p\u state=maximized&p\u p\u mode=view&doAsGroupId=10194&refererPlid=12110&u 15\u struts\u action=%2Fjournal%2Fview&u 15\u tabs1=templates&u 15\u delta=20&u 15\u关键字=&&u 15\u高级搜索=false&u 15\u和运算符=true&u 15\u描述=&u 15\u GroupID=10194&u 15\u名称和结构=false&u搜索= Liferay搜索容器使用delta、cur参数导航到下一组结果
有关更多信息,请查看使用搜索容器的liferay Portlet以及它们如何构建URL。如果iteratorURL属性的默认行为不符合您的需要,您可以为其指定一个值 在下面的示例中,当您在搜索结果表上单击“下一步”时,将使用param1和param2调用portlet的proccesAction()方法 您可以向该方法添加逻辑以保留搜索结果
<%
PortletURL urlPaginator=renderResponse.createActionURL();
urlPaginator.setParameter("param1", value1);
urlPaginator.setParameter("param2",value2);
%>
<liferay-ui:search-container iteratorURL="<%=urlPaginator%>">
单击“下一步”(或搜索容器中的任何其他分页器按钮)会导致portlet呈现。
如果搜索容器不在portlet的第一页(通常是view.jsp,在portlet.xml中设置),您将重定向到那里(呈现阶段的默认行为)
在Liferay 6.2中,您可以设置一个迭代器URL,并使用参数mvcPath指定当前jsp
<liferay-portlet:renderURL portletConfiguration="true" varImpl="iteratorURL">
<liferay-portlet:param name="mvcPath" value="something.jsp"/>
</liferay-portlet:renderURL>
<liferay-ui:search-container iteratorURL="<%=iteratorURL %>">
[...]
</liferay-ui:search-container>
[...]