通过liferay portlet页面传递http标头

时间:2011-07-25 13:56:22

标签: jsp http-headers liferay

在某些portlet中有一个我想通过ajax访问的页面。 该页面应该设置一些http标头(至少是Status)。 据我所见,这些标题被擦除。

问题是 - 如何告诉liferay传递一些特定的标题?

1 个答案:

答案 0 :(得分:4)

设计的Portlet无法访问HTTP标头 - 因为您无法预测哪些Portlet将在页面上组合在一起。想象一个设置缓存信息“立即重新验证”,而另一个portlet对每周重新验证感到满意 - 它们都在同一页面中结束。

但是,为了克服这一限制,Portletspec 2.0(即JSR-286)提出了资源服务作为单独的生命周期阶段,特别是为portlet添加了这样的功能。但是,这与生成“主”portlet输出是分开的。

根据您使用的框架,力学会有所不同,因为普通的portlet API会将serveResource作为“home”在您的问题的评论中建议。您可以从ResourceRequest / ResourceResponse参数访问该方法的HTTP头,但是 - 按设计 - 不是通过ActionResponse或RenderResponse。