1

ユーザーがフォームからいくつかのデータを選択し、その選択したデータを次のページに表示する必要があるという要件があります。

現在、セッション属性を使用してこれを行っていますが、これの問題は、最初のページが別のブラウザー タブで開かれている場合に、データが再度選択されて送信されると、データが上書きされることです。したがって、あるコントローラーから別のコントローラーにデータを転送するときに、このセッション属性を取り除きたいだけです。

注: 私は XML ベースの Spring 構成を使用しているため、注釈ではなく XML を使用したソリューションを示してください。

4

3 に答える 3

0

RedirectAttributes を使用できます。コントローラがリダイレクト シナリオの属性を選択するために使用できる Model インターフェイスの特殊化。

public interface RedirectAttributes extends org.springframework.ui.Model

さらに、このインターフェイスは、「Flash 属性」を保存する方法も提供します。Flash 属性は FlashMap にあります。

FlashMap : FlashMap は、あるリクエストが別のリクエストで使用するための属性を格納する方法を提供します。これは、ある URL から別の URL にリダイレクトするときに最も一般的に必要です。簡単な例は

@RequestMapping(value = "/accounts", method = RequestMethod.POST)
public String handle(RedirectAttributes redirectAttrs) {
 // Save account ...
 redirectAttrs.addFlashAttribute("message", "Hello World");
 return "redirect:/testUrl/{id}";
 }

参考資料・詳細情報はこちら

于 2016-08-24T04:51:46.163 に答える