Liferay中的doView()和render()函数有什么区别?

时间:2012-07-17 08:36:00

标签: liferay portlet

Liferay中doView()render()函数之间的实际差异是什么?以及renderRequestresourceRequest之间有什么区别?

1 个答案:

答案 0 :(得分:7)

doView() =在处于VIEW模式时处理渲染请求。

render() =此方法调用doDispath()方法并使用getTitle()方法设置portlet的标题。然后它会调用doView()doEdit()doHelp()等之一,具体取决于RenderRequest中指定的portlet模式。


同样,RenderRequest是您希望在Portlet的VIEW模式下处理请求的时候。如果您的portlet使用其他资源来呈现视图(即图像,JavaScript文件等),那么呈现视图的JSP将使用<portlet:resourceURL />标记来生成这些资源的有效URL。这些网址将使用一对ResourceRequestResourceResponse个对象进行处理。

您可以覆盖资源阶段,但请记住,当您使用ResourceRequest / ResourceResponse进行服务时,portlet无法更改当前的portlet模式,窗口状态或呈现参数。此外,资源网址上设置的参数也不是渲染参数,它们仅对当前资源请求有效。