Alnbe:
私は、「/」のページにユーザーをリダイレクトしたいと思います。
私のコントローラでは、私が持っています:
@RequestMapping(value = "/uploadImage", method = {RequestMethod.POST})
public ModelAndView addUser (@RequestParam(value="file") MultipartFile file,
HttpServletRequest request,
ModelMap model) {
...
if (...) {
model.addAttribute("uploadFileError", true);
return new ModelAndView("/", model);
}
return new ModelAndView("/", model);
そして、私の受信ページでは:
@RequestMapping(value = "/")
public String root(Model model, HttpServletRequest request) {
...
return "index";
}
春は返しますが「テンプレートの解決エラー[/]、テンプレートが存在しない可能性がありますか、構成されたテンプレートリゾルバのいずれかによってアクセス可能ではないかもしれません」
助けてください。ありがとうございました。
Lahiru Wijesekara:
同じサーバー内の他のコントローラにリダイレクトする必要があるように与えられた説明あたりのようです。コードの意志のスーツの下には、あなたがこれを管理します。
@RequestMapping(value = "/uploadImage", method = { RequestMethod.POST })
public ModelAndView addUser(@RequestParam(value = "file") MultipartFile file, HttpServletRequest request,
ModelMap model) {
return new ModelAndView("redirect:/", model);
}
さらに読書のためには、リダイレクトとフォワードの違い以下を参照することができます
フォワード:
要求はさらに、サーバー側で処理されます
クライアントは、前方の影響を受けていない、ブラウザでURLは同じまま
リクエストとレスポンスのオブジェクトは、転送後に同じオブジェクトのままになります。
- リクエストスコープのオブジェクトがまだ利用可能になります
リダイレクト:
- 要求が別のリソースにリダイレクトされます
- クライアントは、リダイレクト後のURLの変更が表示されます
- 新しい要求が作成されます
- リダイレクトが正常にポスト/リダイレクト内で使用される/ Web開発パターンを取得します
あなただけMultipartFile @AlanBEなしの下で実行リダイレクトをテストする場合
@RequestMapping(value = "/uploadImage", method = { RequestMethod.POST })
public ModelAndView addUser(/* @RequestParam(value = "file") MultipartFile file, */ HttpServletRequest request,
ModelMap model) {
return new ModelAndView("redirect:/", model);
}