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



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

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

从救生筏舷窗-第6_2_0.dtd页我知道了,渲染权重的默认值为1。如果设置为小于1的值portlet是并行呈现的。如果设置为1或更大的值,则portlet是串行呈现的。呈现权重越大的Portlet优先级,并且将在呈现权重较低的Portlet之前呈现。

我的问题是,如何设置liferay Portlet的渲染权重。我需要在一些属性文件中进行输入吗?或者我可以使用控制面板来实现这一点。

不能保证渲染顺序,也不应该在渲染阶段更改任何状态-事实上,不会传播状态更改(例如公共渲染参数等),即使只是因为您甚至无法在RenderRequest/RenderResponse上更改它们。

如果您依赖于特定渲染顺序的假设,则应该更改体系结构,以便不再需要这种假设。如果您的portlet需要一些时间来呈现,您可以让它异步显示(例如,像内置的RSSportlet一样)。如果我没有记错的话,这是通过在liferay-portlet.xml 中将<render-weight>设置为0并将<ajaxable>设置为true来完成的

最新更新