如何从 portlet 检索数据到 portal_normal.flt - Liferay

How to retrieve data from portlet to portal_normal.flt - Liferay

我想从我的自定义 portlet 中检索一些数据并将其放入 portal_normal.ftl 中的元标记。 我试过这个:

<#if (renderRequest.getAttribute("something"))??>
            <#assign urlImg = renderRequest.getAttribute("something")/>
        <#else>
            <#assign urlImg = "defaultturl"/>
        </#if>

,但我总是得到 null。可能我的 portlet 是在主题之后加载的,它永远不会访问此数据。 你知道如何解决吗? 谢谢!

自定义 Portlet 为主题提供数据并不常见。此外,我不确定主题中的请求对象是否与您的 Portlet 中的相同,因为一些请求相关对象(会话等)通常在 Portlet 范围内(未共享)。

您应该使用此 Liferay 教程中描述的 Theme Context ContributorDXP context-contributors。使用TYPE_THEME并实现接口时,您可以将数据添加到您的主题模板中。