Spring MVC的 标签没有找到错误信息(Spring MVC <form:erro

2019-08-03 08:19发布

我用前端开发谁写JSP文件。 我们有一个工作正常,除了验证/装订/处理错误形式似乎无法使用Spring的显示<form:errors/>标签。

我已经证实,被设置错误,什么是显然是错误的正确路径。 据说<form:errors path="*" />应使其所有的,无论路径,但它说明不了什么。

我需要进入标签库源推断出什么错?

Answer 1:

两件事情我发现。

1)请确保您在表单标签中指定的形式豆/命令对象的名称

<form:form method="post" enctype="multipart/form-data" commandName="salesOrder">

2),请确保通过它的类名命名形式豆/命令对象。 在我的课堂上面的例子是com.abc.xyz.SalesOrder。 如果我把它称为“SO”或“订单”的模式,那么它不会显示错误。



Answer 2:

简单的答案:<形式:错误/>必须是一个内<形式:表格/>以绑定到模型的“命令”对象元件。



Answer 3:

问题 - 为什么“的形式:错误路径=” xyzProperty”不会对JSP打印错误?

Anserwer -

  1. BindingResult确实有结合的错误清单,在你的JSP命令名对象名属性。

  2. Defualt对象名=您的对象名称。 例如,如果类名称是MyCareerFB则对象名= myCareerFB。 介意小的情况下的第一个字符,它遵循豆nameing约定。

  3. 请CommandName的值在jsp中相同对象名,否则错误不会与对象和JSP被绑定绝不会打印错误消息。



Answer 4:

这仅仅是对子孙后代的缘故,看到一个答案已被接受。 我有同样的症状自己,但对我来说,问题是,形式:形式方法属性值是大小写敏感的:即,方法=“邮报”将不会显示错误,而方法=“POST”将正常工作。 特别值得注意的是在这里,一切都按预期-在显示表单视图如预期,因为验证失败除了错误是不是在最后JSP可见。

这种行为会存在扩展的AbstractFormController任何控制器上,因为

protected boolean isFormSubmission(HttpServletRequest request)

做一个 “POST” .equals而不是 “POST” .equalsIgnoreCase。



Answer 5:

不知道是不是我有同样的问题。 我的问题是,我设置@ModelAttribute错误的值。 具有设置到的命令名值<形式:表格/>工作正常。



Answer 6:

你可能不用于CommandName的形式属性正确命名约定。 这是我遇到了这个问题。 我有一个名为“XYZTask”级和我命名形式的CommandName =“xyztask”。 所有形式的映射工作,除了我没有看到标记报告的错误。 我重新命名类“XyzTask”和形式的CommandName =“xyzTask”,而错误开始工作。



文章来源: Spring MVC tag doesn't find error messages