1

Spring 3 ポートレットを介して CSV ダウンロードを提供する方法を考え出そうとしています。注釈を使用して、@ResourceMappingレポート パラメータを a の形式で受け取り、レポート@ModelAttributeを作成して返すハンドラを定義するメソッドがあります。私が実行している catch-22 は、クライアント フォームから送信されるパラメーターを検証しています。

ハンドラーを にする@ResourceMappingと、 を使用してヘッダーを設定し、レポートを書き出すことResourceResponseができますが、ユーザーの入力が検証に失敗したときに、エラーが発生してユーザーをポートレット ビューにリダイレクトする方法がわかりません。ただし、それを にすると、@ActionMappingをチェックしてBindingResult、必要に応じてフォームに戻すことがActionResponseできますが、 Content-Disposition ヘッダーを設定したり、CSV バイトを書き出すことはできません。これは非常に重要です。レポートを返送するため。

自分の選択肢が何であるかさえわからないので、ここで完全に途方に暮れています。ポートレットで私がやろうとしていることを行うことさえ可能ですか? 考えられる回避策について調べることができる他の例はありますか?

4

1 に答える 1

0

@ActionMapping両方を使用@ResourceMappingして、要件を満たすことをお勧めします。

validationを使用してエラーを処理できたとのことですが、@ActionResponseを処理する方法を説明しますResource Streaming

ご存知のように、 every@ActionResponseの後に が続きます@RenderResponse。同じビューを返しますが、iframe今回srcResourceURL.

Requestあなたが受け取る@ResourceMappingものは、すでにあるものですValidated。これで、CSV.

あなたがどれほど複雑で、アプリケーションでasUIを使用しているかどうかはわかりません。うまく管理されていれば、で処理できます。jspviewsValidation@ResourceMapping

ありがとうございました

于 2013-06-26T19:26:31.113 に答える