我创建了一个页面,其中包含友好的/ balance-queries网址。 Liferay管理员网站页面页面中提供的完整网址为http://localhost:8080/group/guest/balance-inquiries。
从另一个页面创建一个renderUrl(或actionUrl)到这个页面被证明有点令人沮丧。以下是我试图使其发挥作用的众多变体之一。
<portlet:renderURL var="searchTransactionsUrl">
<portlet:param name="mvcPath" value="/balance-inquiries" />
</portlet:renderURL>
<a href="<%=searchTransactionsUrl%>">Search LPC Transactions</a>
我的问题是我应该使用什么样的参数来使这个链接起作用?或者我应该使用重定向,还是使用?
提前致谢。
答案 0 :(得分:2)
我已经想出了如何为跨越不同WAR文件的portlet构建动态URL。代码如下:
<portlet:defineObjects />
<liferay-theme:defineObjects />
<%
String portletId = "giftcardtransactionfilesummary_WAR_myportalgiftcardportlet";
long otherPlid = PortalUtil.getPlidFromPortletId(themeDisplay.getScopeGroupId(), portletId);
%>
<liferay-portlet:renderURL var="giftcardTransactionFileSummaryUrl" plid="<%=otherPlid%>" portletName="<%=portletId%>">
<liferay-portlet:param name="groupId" value="10157" />
<liferay-portlet:param name="articleId" value="11385" />
</liferay-portlet:renderURL>
<a href="<%=giftcardTransactionFileSummaryUrl%>">view giftcard batch files</a>
技巧如下:
除此之外,添加必要的@page和@taglib指令,一切都应该有效。
答案 1 :(得分:1)
您不会为网页创建渲染或操作网址,而是创建portlet。
如果要在同一页面上的portlet之间传递参数,请使用inter portlet communication。
如果要重定向到具有不同portlet的页面,请创建portlet configurable并在portlet首选项中指定页面URL。通常,您不知道目标portlet所在的页面。它可以是单页或多页或任何其他内容。
如果要将参数传递给不同页面上的portlet,请使页面URL可配置,并通过友好URL传递参数。