2011-01-26 5 views
1

может понравиться кому-нибудь, скажите мне, каков надлежащий способ обработки HTTP-запросов Multipart, которые не должны быть ActionRequest из-за их асинхронного характера?Спецификация портлета - обработка асинхронных запросов многоадресной связи

Например, Ajax Multipart запросы от Flash-загрузчиков. Они не предназначены для заявок на действия, потому что за фазой действия следует фаза рендеринга? Как это было бы удобно в случае html-формы.

Некоторые фреймворки, такие как Spring, используют ResourceRequests для обработки обычных Ajax-запросов, но об этом не упоминается обработка запросов Multipart (в JSR 286).

Тогда остается этап Render, который может быть использован для этого, но это не кажется правильным. В spring-portlet-mvc практически нет способа сделать это в некоторых случаях, поскольку ожидается, что этап визуализации будет отображать представление, а не обрабатывать запросы асинхронно.

Весной рамки существуют, то эти вопросы, которые я не знаю, как бороться с

SPR-7662

SPR-7910

Мой окончательный, хотя в том, что асинхронные запросы должны быть обработаны с помощью сервлета и не указал на сервлет портала, чтобы стать запросами портлета, что довольно раздражает, и это вызывает много дополнительной работы. Или, как в Spring-portlet-mvc, используйте ResourceRequests в качестве обходного пути.

+0

который вы используете? – lisak

+0

@Edgar: Портал Liferay – lisak

ответ

0

Ну, я уже объяснил этот вопрос here, в общих чертах.

В портале Liferay вы также должны указать параметр windowState = "exclusive" в своем запросе на действие.

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

Это вызывает, что ответ не будет обернут некоторые HTML фрагментов, которые иначе были бы необходимы в случае ответа визуализации, которая не возвращает исходные данные, но некоторые View (JSP), которые будут оказаны.

+0

Эй, Sloin, отсутствие дополнительной разметки HTML - единственное существенное различие между эксклюзивным состоянием окна Liferay и другими, такими как Maximized или Pop Up? –

Смежные вопросы