为 Liferay 搜索容器设置 MVC renderParameter

Setting MVC renderParameter for Liferay Search Container

我正在开发一个图库应用程序,它有两个选项卡 (<aui:nav>),都包含一个具有相同列的 search-container,一个显示上传的图像,另一个显示当前登录用户 ID 上传的图片(上传者姓名、上传日期、图片等)。

我在两个 table 中都添加了排序,这在主(第一个)选项卡上运行良好。

但是,如果您单击 table header 在第二个选项卡上对它进行排序,它会跳转到第一个选项卡 - 排序在此处进行。例如:我想按上传日期对我上传的图片进行排序,我点击它,它跳转到第一个选项卡,显示所有图片,但现在按日期排序。

我猜它会转到 "default" 视图,就像在 portlet 操作之后一样,但我不知道如何覆盖排序调用的 mvcPath?

编辑:同时,我删除了选项卡导航,这不是问题的根源。基本上我只需要设置排序的 renderURL 但我不知道如何设置,所以它会跳转到 portlet 的默认视图。更一般地说:

1.JSP 是默认视图,具有三列:A、B、C。排序有效。 2.JSP 是另一个视图,也有相同的三列:A、B、C。如果按 A 排序,则呈现 1.JSP,但按列 A 排序。(B 和 C 相同。 )

我想通了:

首先,您必须在 2.JSP 上设置一个 renderURL。

<%
    PortletURL iteratorUrl = (PortletURL) renderResponse.createRenderURL();
    iteratorUrl.setParameter("mvcPath", "/html/portletname/2.jsp");
%>

然后,您将此 url 添加到 search-container。

<liferay-ui:search-container iteratorURL="<%=iteratorUrl%>" {other parameters}>

现在它正在呈现所需的页面,而不是默认视图 (1.JSP)。