Jsp 通过liferay portlet页面传递http头

Jsp 通过liferay portlet页面传递http头,jsp,http-headers,liferay,Jsp,Http Headers,Liferay,在某些portlet中,有一个页面我希望通过ajax访问。 该页面应该设置一些http头(至少是状态)。 就我所见,这样的标题被删除了 问题是-我如何告诉liferay传递一些特定的头文件?Portlet按设计无法访问HTTP头文件-因为您无法预测页面上哪些Portlet将在一起。想象一下,一个portlet将缓存信息设置为“立即重新验证”,而另一个portlet对每周重新验证感到满意——它们最终都在同一个页面中 然而,为了克服这个限制,Portletspec 2.0,即JSR-286,提出了将

在某些portlet中,有一个页面我希望通过ajax访问。 该页面应该设置一些http头(至少是状态)。 就我所见,这样的标题被删除了


问题是-我如何告诉liferay传递一些特定的头文件?

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

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


根据您使用的框架,机制会有所不同,因为在对您的问题的评论中建议将普通portlet API查找ServerSource作为“主页”。您可以从ResourceRequest/ResourceResponse参数访问该方法的HTTP头,但根据设计,不是通过ActionResponse或RenderResponse。由于您无法预测哪些Portlet将在一个页面上组合在一起,因此,通过设计的Portlet无法访问HTTP头。想象一下,一个portlet将缓存信息设置为“立即重新验证”,而另一个portlet对每周重新验证感到满意——它们最终都在同一个页面中

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


根据您使用的框架,机制会有所不同,因为在对您的问题的评论中建议将普通portlet API查找ServerSource作为“主页”。您可以从ResourceRequest/ResourceResponse参数访问该方法的HTTP头,但根据设计,不是通过ActionResponse或RenderResponse。

您使用JSR 286 Portlet或JSR168 Portlet?JSR 286引入了一个名为ServerResource的新API,专门用于处理XML(AJAX)请求。在这里,您可以显式设置HTTP头。最新的Liferay版本提供了对此JSR的支持。您使用JSR286 Portlet或JSR168 Portlet吗?JSR286引入了一个名为ServerResource的新API,专门用于处理XML(AJAX)请求。在这里,您可以显式设置HTTP头。最新的Liferay版本提供了对此JSR的支持。