Eqb*_*bal 20 spring-mvc spring-annotations
我正在使用基于注释的验证,但对于其中一种表单,我无法使用form:errors标记显示任何错误.当我调试方法时,我可以看到BindingResult有错误,但由于某种原因它没有显示在窗体上.我很困难,因为我已经把它用于其他形式,但由于某种原因,这种特殊形式存在问题.任何指针都非常感谢.
这是来自控制器的一些代码,我在控制器中也有copyCartForm作为@SessionAttribute:
@RequestMapping(params="action=Confirm Copy", method=RequestMethod.POST)
public String copyCart(@Valid CopyCart copyCartForm, BindingResult result) {
if (result.hasErrors()) {
logger.debug("errors in form" + result.toString());
return "copyshoppingcart";
} else {
...
...
return "redirect:/home";
}
}
Run Code Online (Sandbox Code Playgroud)
在JSP中我试过这个:
<form:errors path="*" cssClass="formError"/>
Run Code Online (Sandbox Code Playgroud)
以及:
<form:errors path="fieldName" cssClass="formError"/>
Run Code Online (Sandbox Code Playgroud)
两者都不起作用.
Eqb*_*bal 42
我不得不用@ModelAttribute这个来工作.所以表格之前是@ModelAttribute("copyCartForm") @Valid CopyCart copyCartForm, BindingResult result)
还有一种方法,如果由于某种原因你在使用@ModelAttribute("copyCartForm")时无法使用,请遵循:
@RequestMapping(method=RequestMethod.POST)
public String post(@Valid CopyCart copyCartForm, BindingResult bindingResult, ModelMap modelMap) {
if (bindingResult.hasErrors()) {
modelMap.put(BindingResult.class.getName() + ".copyCartForm", bindingResult);
return "copyshoppingcart";
}
return "redirect:/home";
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
32516 次 |
| 最近记录: |