2011-01-26 19 views
1

非同期性のためにActionRequestではないMultipart http要求を処理する適切な方法は何ですか?ポートレットの仕様 - 非同期マルチポート要求の処理

たとえば、FlashアップローダからのAjax Multipartリクエスト。アクションフェーズの後にレンダリングフェーズが正しく行われるため、それらはアクション要求ではありません。 html形式の場合は便利です。

Springのようないくつかのフレームワークは、一般的なAjaxリクエストを処理するためにResourceRequestsを使用していますが、(JSR 286の)Multipartリクエストを処理することに関して何も言及していません。

残っているものはレンダリングフェーズですが、これは使用できますが、正しくはないようです。 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()%>" /> 

これは、応答がそうでなければ、生データを返しませんが、いくつかのビュー(JSP)をレンダリングするレンダリング応答の場合に必要とされるであろういくつかのHTMLフラグメントによってラップされないことが発生します。

+0

余分なHTMLマークアップがないのは、Liferayの排他的ウィンドウ状態と最大化またはポップアップのような他の主な違いだけですか? –

関連する問題