如何从 portlet 检索数据到 portal_normal.flt - Liferay
Posted
技术标签:
【中文标题】如何从 portlet 检索数据到 portal_normal.flt - Liferay【英文标题】:How to retrieve data from portlet to portal_normal.flt - Liferay 【发布时间】:2019-11-18 05:30:32 【问题描述】:我想从我的自定义 portlet 中检索一些数据并将其放入 portal_normal.ftl 中的元标记中。 我试过这个:
<#if (renderRequest.getAttribute("something"))??>
<#assign urlImg = renderRequest.getAttribute("something")/>
<#else>
<#assign urlImg = "defaultturl"/>
</#if>
,但我总是得到空值。可能我的 portlet 是在主题之后加载的,它永远不会访问这些数据。 你知道如何解决它吗? 谢谢!
【问题讨论】:
【参考方案1】:自定义 Portlet 为主题提供数据并不常见。另外,我不确定主题中的请求对象是否与您的 Portlet 中的相同,因为某些与请求相关的对象(会话等)通常是 Portlet 的范围(未共享)。
您应该使用 Theme Context Contributor
,如 Liferay 教程中所述:DXP context-contributors。在使用TYPE_THEME
并实现接口时,您可以将数据添加到您的主题模板中。
【讨论】:
确实:RenderRequest 是一个 PortletRequest,因此每个 Portlet 都有不同的 RenderRequest,但对于非 Portlet 则没有,例如一个主题 谢谢!主题上下文贡献者工作得很好:D以上是关于如何从 portlet 检索数据到 portal_normal.flt - Liferay的主要内容,如果未能解决你的问题,请参考以下文章