【发布时间】:2011-02-21 02:11:03
【问题描述】:
我正在使用基于注释的验证,但对于其中一种表单,我无法使用 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";
}
}
在 JSP 中我试过这个:
<form:errors path="*" cssClass="formError"/>
还有:
<form:errors path="fieldName" cssClass="formError"/>
都不行。
【问题讨论】:
-
最好向我们展示您的 JSP 代码。
-
我必须使用
@ModelAttribute才能使其正常工作。所以表格前面是@ModelAttribute("copyCartForm") @Valid CopyCart copyCartForm, BindingResult result)不知道为什么?在其他地方,没有它也可以工作。
标签: spring-mvc spring-annotations