2
我有一張表格和一張表格。當我提交表格時,我希望填寫表格。SpringMVC:POST重定向GET和錯誤消息?
我試着簡單地返回視圖名稱,但它沒有通過「Get」方法。
我看到了Post Redirect Get模式,所以我嘗試了它,並且它有效地刷新了頁面。但是,然後驗證錯誤不會顯示在標籤中。
我在其他地方看到您可以使用RedirectAttributes和flashAttribute bindingResult,但它仍然無法正常工作。
我不知道做這件事的正常方法是什麼。
這裏是我的代碼:
@Controller
@RequestMapping("/settings")
public class SettingsController {
@Autowired
protected SettingsService settingsService;
@RequestMapping(method = RequestMethod.GET)
public void loadSettings(Model model) {
model.addAttribute("settings", new Settings());
model.addAttribute("settingsList", settingsService.getAllSettings();
}
@RequestMapping(value = "/add", method = RequestMethod.POST)
public String saveSettings(@ModelAttribute("settings") @Valid Settings settings, Errors errors, RedirectAttributes redirectAttributes) {
// code
redirectAttributes.addFlashAttribute("settings", settings);
redirectAttributes.addFlashAttribute("org.springframework.validation.BindingResult.settings", errors);
return "redirect:/settings";
}
}
這是一樣的http://stackoverflow.com/q/9329741/217324? – 2014-09-05 17:42:42
這是同樣的問題,但答案是黑客,這意味着它不是春季意圖的「正常方式」。由於spring-mvc 1,我們必須發佈並顯示結果。它怎麼能這麼複雜呢? – 2014-09-06 09:06:50