有人可以告诉我,处理多部分http请求的正确方法是什么,因为它们的异步性质不应该是ActionRequest?
例如,来自 Flash uploader 的 Ajax Multipart 请求。它们并不意味着是操作请求,因为操作阶段之后是渲染阶段,对吗?因为如果是 html 形式会很方便。
像 Spring 这样的一些框架正在使用 ResourceRequests 来处理常见的 Ajax 请求,但没有提到它处理多部分请求(在 JSR 286 中)。
剩下的就是渲染阶段,它可以用于此目的,但似乎不太正确。在 spring-portlet-mvc 中,在某些情况下实际上无法做到这一点,因为渲染阶段预计渲染 View ,而不是异步处理请求。
在Spring框架中,存在这些我不知道如何处理的问题
我的最后一点是,异步请求应该由 servlet 处理,而不是指向门户 servlet 来成为 portlet 请求,这非常烦人,并且会导致大量额外的工作。或者,就像在 Spring-portlet-mvc 中一样,使用 ResourceRequests 作为解决方法。
最佳答案
嗯,我已经解释了这个问题here ,一般而言。
在 Liferay 门户中,您还必须在操作请求中指定 windowState="exclusive"参数。
<portlet:actionURL var="actionURL" windowState="<%=LiferayWindowState.EXCLUSIVE.toString()%>" />
这会导致响应不会被渲染响应时需要的一些 html 片段包装,这些片段不会返回原始数据,而是会渲染一些 View (JSP)。
关于java - Portlet 规范 - 处理异步 Multipart 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4804616/