こんにちは、すべての質問です。答えを見つけるのに問題があります...
使用事例:
コントローラーで Excel スプレッドシートを読み取る。4 行のシートが処理され、2 行目と 3 行目にエラーがあったため、それらをスキップして残りの処理に進みます。しかし、これらの行を保持して、処理が完了した後にユーザーに表示したいと考えています。十分な情報を提供するためだけに、行のすべての値を保持してユーザーに表示したいと思います。
だから私がやろうとしたことはこれでした:
@RequestMapping(value = "/bulk-create", method = RequestMethod.POST)
public String bulkCreate(Model model, SpreadSheetFile spreadSheetFile){
...some code...
List<Row> errorRows = new LinkedList<Row>();
...some code to process rows...
//Error Found
errorRows.add(row);
...more code to wrap up processing (possibly more errors)...
model.addAttribute("erroRows", errorRows);
return "redirect:/bulk-review"
}
@RequestMapping(value = "/bulk-review", method = RequestMethod.GET)
public String bulkReview(Model model,
@ModelAttribute("errorRows")
LinkedList<Row> errorRows){
model.addAttribute("errorRows", errorRows);
return "bulk-review";
}
したがって、基本的に、実際に最初にページにアクセスすることなく、ある MVC メソッドから別の MVC メソッドに LinkedList を渡そうとしています (「redirect:」がどのように機能するかを誤解していない限り、最初にコントローラー メソッドが正しく呼び出されますか?)
bulkReview メソッドにブレーク ポイントを挿入すると、errorRows が空になります。では、2 つのメソッド間でこの値を保持するにはどうすればよいでしょうか。
助けてくれてありがとう!何か明確にする必要がある場合はお知らせください。:)
クリス