我用前端开发谁写JSP文件。 我们有一个工作正常,除了验证/装订/处理错误形式似乎无法使用Spring的显示<form:errors/>
标签。
我已经证实,被设置错误,什么是显然是错误的正确路径。 据说<form:errors path="*" />
应使其所有的,无论路径,但它说明不了什么。
我需要进入标签库源推断出什么错?
我用前端开发谁写JSP文件。 我们有一个工作正常,除了验证/装订/处理错误形式似乎无法使用Spring的显示<form:errors/>
标签。
我已经证实,被设置错误,什么是显然是错误的正确路径。 据说<form:errors path="*" />
应使其所有的,无论路径,但它说明不了什么。
我需要进入标签库源推断出什么错?
两件事情我发现。
1)请确保您在表单标签中指定的形式豆/命令对象的名称
<form:form method="post" enctype="multipart/form-data" commandName="salesOrder">
2),请确保通过它的类名命名形式豆/命令对象。 在我的课堂上面的例子是com.abc.xyz.SalesOrder。 如果我把它称为“SO”或“订单”的模式,那么它不会显示错误。
简单的答案:<形式:错误/>必须是一个内<形式:表格/>以绑定到模型的“命令”对象元件。
问题 - 为什么“的形式:错误路径=” xyzProperty”不会对JSP打印错误?
Anserwer -
BindingResult确实有结合的错误清单,在你的JSP命令名对象名属性。
Defualt对象名=您的对象名称。 例如,如果类名称是MyCareerFB则对象名= myCareerFB。 介意小的情况下的第一个字符,它遵循豆nameing约定。
请CommandName的值在jsp中相同对象名,否则错误不会与对象和JSP被绑定绝不会打印错误消息。
这仅仅是对子孙后代的缘故,看到一个答案已被接受。 我有同样的症状自己,但对我来说,问题是,形式:形式方法属性值是大小写敏感的:即,方法=“邮报”将不会显示错误,而方法=“POST”将正常工作。 特别值得注意的是在这里,一切都按预期-在显示表单视图如预期,因为验证失败除了错误是不是在最后JSP可见。
这种行为会存在扩展的AbstractFormController任何控制器上,因为
protected boolean isFormSubmission(HttpServletRequest request)
做一个 “POST” .equals而不是 “POST” .equalsIgnoreCase。
不知道是不是我有同样的问题。 我的问题是,我设置@ModelAttribute错误的值。 具有设置到的命令名值<形式:表格/>工作正常。
你可能不用于CommandName的形式属性正确命名约定。 这是我遇到了这个问题。 我有一个名为“XYZTask”级和我命名形式的CommandName =“xyztask”。 所有形式的映射工作,除了我没有看到标记报告的错误。 我重新命名类“XyzTask”和形式的CommandName =“xyzTask”,而错误开始工作。