2011-01-26 93 views
1

可以请任何人告诉我,处理多部分http请求的正确方法是什么?由于它们的异步性质,它们不应该是ActionRequest?Portlet规范 - 处理异步多部分请求

例如,来自Flash上​​载器的Ajax Multipart请求。它们并不意味着是Action请求,因为Action阶段后面的渲染阶段是正确的?因为在html表单的情况下会很方便。

像Spring这样的一些框架正在使用ResourceRequests来处理常见的Ajax请求,但没有提到它处理Multipart请求的任何事情(在JSR 286中)。

然后剩下的就是渲染阶段,它可以用于这个阶段,但它似乎并不正确。在spring-portlet-mvc中,在某些情况下几乎没有办法做到这一点,因为渲染阶段期望呈现视图,而不是异步处理请求。

在Spring框架有那么这些问题,我不知道该如何处理

SPR-7662

SPR-7910

我最后虽然是中,异步请求应该由servlet处理而不是指向门户servlet成为portlet请求,这非常烦人,并且会导致大量额外的工作。或者,像Spring-portlet-mvc一样,使用ResourceRequests作为解决方法。

+0

您正在使用哪个Portal? – lisak 2011-01-27 03:31:51

+0

@Edgar:Liferay portal – lisak 2011-01-27 03:34:45

回答

0

那么我已经解释了这个问题here,一般来说。

在Liferay门户中,您还必须在您的操作请求中指定windowState =“exclusive”参数。

<portlet:actionURL var="actionURL" windowState="<%=LiferayWindowState.EXCLUSIVE.toString()%>" /> 

它会导致该响应将不会通过,否则将在呈现响应,不返回原始数据,但是一些视图(JSP)将被渲染的情况下,需要一些HTML片段缠绕。