1
@RequestMapping(method = RequestMethod.GET, value = "/add")
public ModelAndView add() throws ConferenceNotFoundException {
LOGGER.debug("Getting adding page");
return new ModelAndView("conference/add", "form", new ConferenceForm());
}
@RequestMapping(method = RequestMethod.POST, value = "/add")
public String handleAddConferenceForm(@Valid @ModelAttribute("form") ConferenceForm form,
BindingResult bindingResult,
@ModelAttribute("currentUser") CurrentUser currentUser) {
LOGGER.debug("Processing add conference form={}, bindingResult={}", form, bindingResult);
form.setHost(currentUser.getUser());
if (bindingResult.hasErrors()) {
// failed validation
return "conference/add";
}
try {
conferenceService.create(form);
} catch (Exception e) {
e.printStackTrace();
}
// ok, redirect
return "redirect:/";
}
私は上記のコードのような春のフォームを作ります。そしてそれは絵の上のようにうまく機能します。
@RequestMapping(method = RequestMethod.GET, value = "/{id}/admin/update")
public ModelAndView update(Model model,
@PathVariable("id") Long id) throws ConferenceNotFoundException {
LOGGER.debug("Getting update page");
Conference conference = conferenceService.findById(id);
model.addAttribute("conference", conference);
return new ModelAndView("conference/update", "form", new ConferenceForm(conference));
}
@RequestMapping(method = RequestMethod.POST, value = "/{id}/admin/update")
public String handleUpdateConferenceForm(@Valid @ModelAttribute("form") ConferenceForm form,
@PathVariable("id") Long id,
BindingResult bindingResult,
@ModelAttribute("currentUser") CurrentUser currentUser) {
LOGGER.debug("Processing update conference form={}, bindingResult={}", form, bindingResult);
form.setHost(currentUser.getUser());
if (bindingResult.hasErrors()) {
// failed validation
return "conference/update";
}
try {
conferenceService.update(form, id);
} catch (Exception e) {
e.printStackTrace();
}
// ok, redirect
return "redirect:/conferences/" + id + "/admin";
}
そうでない場合は、上記のコードはうまく動作しません。バリデーターはうまく動作し、内容を更新します。しかし、バリデータが動作するときにはWhitelabel Error Page
が生成されます。
なぜそれがWhitelabel Error Page
を生成するのかわかりません。
私は異なるパラメータを持っていたにもかかわらず、注文アップを変更することは、あまりにも私のために問題を解決しました。奇妙なことに、私は言うだろう。 –