从另一个 portlet 访问操作

Accessing an action from a portlet from another

所以我在 portlet "pA" 中有一个操作,它根据登录的用户打印一些信息,现在我需要在另一个 portlet "pB" 中使用该信息。我不想复制代码,而是想从 "pB" 访问 porlet "pA" 的操作。这可能吗?

通过研究,我在 "pB" 的开头找到了这个:

<%@ taglib uri="http://liferay.com/tld/portlet" prefix="liferay-portlet" %>

<liferay-portlet:actionURL var="name" portletName="pA_WAR_war-of-pA">
    <liferay-portlet:param name="view" value="v" />
</liferay-portlet:actionURL>

<h1>URL:: <a href="${name}">${name}</a></h1>

但是它为 "pB" 而不是 "pA" 生成了 url ???

如果可能的话,我不会太担心,因为它的风格很糟糕。如果您需要在两个不同的 portlet 中使用相同的代码,只需在库中提供它并在两个 portlet 中使用它。

UI 层上的 portlet 应该是一个封闭的概念,并且不与其他 portlet 相互依赖。然而,对公共库的依赖性很好。