如何在liferay portlet中设置portlet加载顺序

时间:2014-04-09 07:36:56

标签: liferay liferay-6

我的页面上有大约4个portlet和2个Web内容。在4个portlet中,一个是自定义portlet。我的要求就像我需要在最后加载我的自定义portlet。 我知道我们可以通过在liferay-portlet.xml中添加以下条目来设置它

<render-weight>0</render-weight>

来自liferay-portlet-app_6_2_0.dtd的

我知道了 ,render-weight的默认值为1.如果设置为小于1的值,则为 portlet是并行呈现的。如果设置为1或更大的值,那么 portlet是连续呈现的。具有更大渲染重量的Portlet具有更大的重量 优先级将在具有较低渲染权重的portlet之前呈现。

我的问题是,如何设置liferay portlet的渲染权重。我是否需要在某些属性文件中输入,或者我可以使用控制面板实现此目的。

1 个答案:

答案 0 :(得分:5)

不保证渲染顺序,你不应该在渲染阶段改变任何状态 - 实际上没有传播状态变化(例如公共渲染参数等),只是因为你甚至不能在RenderRequest / RenderResponse上更改它们。

如果您依赖于特定渲染顺序的假设,则应该更改体系结构,以便不再需要此假设。如果您的portlet需要一些时间来呈现,您可以异步显示它(例如,像内置的RSS portlet)。如果我没记错的话,可以通过在<render-weight>

中将0设置为<ajaxable>并将true设置为liferay-portlet.xml来完成