如何在不渲染整个页面的情况下呈现portlet。 Liferay的

时间:2013-04-19 13:23:25

标签: liferay portlet

我在同一页面上有两个portlet。 Portlet A执行非常快速的任务,Portlet B执行的任务非常缓慢。 Portlet B从A读取参数。如果我在A(使用RenderURL)上进行更改,Liferay会渲染整个页面(包括慢速Portlet B)。我怎么能说Liferay只渲染Portlet A而不是Portlet B?

1 个答案:

答案 0 :(得分:2)

renderURL将始终指向整个页面。如果你去“手动”,例如如果没有其他框架的帮助,您需要利用resourceURL并使用Ajax刷新portlet的内容。

另一种选择是将慢速portlet B声明为异步(“ajaxable”)并缓存输出,这样你就不必经常进行昂贵的渲染操作。 liferay-portlet.xml中提供了ajaxable选项,并记录了该文件。 RSS portlet(Liferay-OOTB)配置如下,因为它可能需要一段时间,直到此portlet收集了所有RSS源并可以呈现。这可能是您所需更改的良好蓝图。