我已经为 Liferay portlet 设置了友好的 URL 路由,当我使用标准 JSP 标记生成 URL 时,它工作正常,如下所示:
<portlet:renderURL var="resetUrl">
<portlet:param name="start" value="5" />
</portlet:renderURL>
根据我的映射,它会生成一个可爱的 URL,例如:
localhost:8080/web/guest/welcome/-/myportlet/5
但是当我使用 JavaScript PortletURL 模块生成 URL 时,我得到了完整的不友好 URL。例如:
var filterUrl = Liferay.PortletURL.createRenderURL();
filterUrl.setPortletId("<%= portletDisplay.getId() %>");
filterUrl.setParameter("start", "5");
location.href = filterUrl;
将生成
localhost:8080/web/guest/welcome?p_p_id=myportlet_WAR_MyPortletportlet&p_p_lifecycle=0&myportlet_WAR_MyPortletportlet_start=5
所以我的问题是: 如何从 JavaScript 生成友好的 URL?
最佳答案
没有简单的方法可以做到这一点。您必须重写portal_url.js 和PortletURLAction.java。 另一种选择是编写您自己的 portlet,它可以根据需要生成 URL 并通过 AJAX 访问它。
关于javascript - 如何让 Liferay 的 Javascript PortletURL 模块与友好的 URL 映射一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9807011/