我在我的代碼中使用了liferay-ui:search-container。Liferay搜索容器分頁
搜索結果正在正確顯示,直到我點擊NEXT。 Portlet正在重新加載,並將我帶到Portlet的第一頁,摧毀了所呈現的搜索結果。
即使在Portlet重新加載後,如何保留搜索結果?
我在我的代碼中使用了liferay-ui:search-container。Liferay搜索容器分頁
搜索結果正在正確顯示,直到我點擊NEXT。 Portlet正在重新加載,並將我帶到Portlet的第一頁,摧毀了所呈現的搜索結果。
即使在Portlet重新加載後,如何保留搜索結果?
Liferay搜索容器對單擊「next」和「previous」時所通過的參數起作用。
請注意「下一個」和「上一個」鏈接的URL。
對於例如,URL將具有類似參數:
p_p_id = 15 & p_p_lifecycle = 0 & p_p_state =最大化& p_p_mode =視圖& doAsGroupId = 10194 & refererPlid = 12110 & _15_struts_action =%2Fjournal%2Fview & _15_tabs1 =模板& _15_delta = 20 & _15_keywords = & _15_advancedSearch =假& _15_andOperator =真& _15_description = & _15_groupIds = 10194 & _15_name = & _15_structureId = & _15_searchTemplateId = & _15_resetCur =假& CUR = 2
Liferay的搜索容器使用增量,CUR參數導航到下一組結果。
有關更多信息,請查看使用搜索容器的liferay portlet以及它們如何構建URL。
如果默認行爲不符合您的需要,您可以爲iteratorURL屬性賦予一個值。
在以下示例中,當您在搜索結果表上單擊「下一步」時,portlet的proccesAction()方法將與param1和param2一起調用。
您可以爲該方法添加邏輯來保留您的搜索結果。
<%
PortletURL urlPaginator=renderResponse.createActionURL();
urlPaginator.setParameter("param1", value1);
urlPaginator.setParameter("param2",value2);
%>
<liferay-ui:search-container iteratorURL="<%=urlPaginator%>">