gpt4 book ai didi

Spring 表单验证 : Whitelabel Error Page

转载 作者:行者123 更新时间:2023-12-02 00:54:04 27 4
gpt4 key购买 nike

    @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:/";
}

enter image description here

我像上面的代码一样制作 Spring 形式。它像上图一样运行良好。

@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";
}

enter image description here

否则,上面的代码不能正常工作。它的验证器运行良好并且更新了内容。但它会在验证器工作时生成 Whitelabel Error Page

我不知道为什么会生成Whitelabel Error Page

最佳答案

我找到问题所在了。

更改 BindingResult bindingResult 的位置。

来自:

public String handleUpdateConferenceForm(@Valid @ModelAttribute("form") ConferenceForm form,
@PathVariable("id") Long id,
BindingResult bindingResult,
@ModelAttribute("currentUser") CurrentUser currentUser)

收件人:

public String handleUpdateConferenceForm(@Valid @ModelAttribute("form") ConferenceForm form,
BindingResult bindingResult,
Model model,
@PathVariable("id") Long id,
@ModelAttribute("currentUser") CurrentUser currentUser)

关于Spring 表单验证 : Whitelabel Error Page,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37272106/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com