Не показывая сообщения об ошибках, когда проверено с помощью @valid (JSR-303) в Spring MVC

Я определил <mvc:annotation-driven /> в сервлете диспетчера. Я не использую @InitBinder.
И я использую @valid аннотацию для проверки в методе контроллера как

@RequestMapping(method = RequestMethod.POST, value = "new")
    public String save(@Valid Article article,ModelMap model) {
//code here
}

И проверка хорошо работает, но вместо того, чтобы показать ошибку в.. образец показан в коде HTML

<tr>
         <td>Title</td>
         <td><form:input path="title"/></td>
         <td><form:errors path="title"/></td>
</tr>

Это выдает исключение как..

org.springframework.web.util. NestedServletException: Обработка запросов перестала работать; вложенная исключительная ситуация является org.springframework.validation. BindException: org.springframework.validation. BeanPropertyBindingResult: 2 ошибочных Полевых ошибки в объектной 'статье' о поле 'urlInfo.url': отклоненное значение []; коды [typeMismatch.article.urlInfo.url, typeMismatch.urlInfo.url, typeMismatch.url, typeMismatch.java.net. URL, typeMismatch]; аргументы [org.springframework.context.support. DefaultMessageSourceResolvable: коды [article.urlInfo.url, urlInfo.url]; аргументы []; сообщение по умолчанию [urlInfo.url]]; сообщение по умолчанию [Отказавший для преобразования значения свойства типа 'java.lang. Строка' к необходимому типу 'java.net. URL' для свойства 'urlInfo.url'; вложенная исключительная ситуация является org.springframework.core.convert. ConversionFailedException: Неспособный преобразовать значение из типа 'java.lang. Строка' для ввода 'java.net. URL'; вложенная исключительная ситуация является org.springframework.core.convert. ConversionFailedException: Неспособный преобразовать значение из типа 'java.lang. Строка' для ввода 'java.net. URL'; вложенная исключительная ситуация является java.lang.reflect. InvocationTargetException] Полевая ошибка в объектной 'статье' о поле 'заголовок': отклоненное значение []; коды [Size.article.title, Size.title, Size.java.lang. Строка, Размер]; аргументы [org.springframework.context.support. DefaultMessageSourceResolvable: коды [article.title, заголовок]; аргументы []; сообщение по умолчанию [заголовок], {javax.validation.constraints. Size.message}, 6, [Ljava.lang.Class;@1db3aac,2147483647, [Ljava.lang.Class;@1e90abf]; сообщение по умолчанию [размер должно быть между 6 и 2147483647]

 org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:659)
 org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:563)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
 org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
 org.tuckey.web.filters.urlrewrite.NormalRewrittenUrl.doRewrite(NormalRewrittenUrl.java:213)
 org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:171)
 org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
 org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
 org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:381)
 org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)

Как настроить его, чтобы не выдать исключение и вместо этого возвратиться, чтобы разбить на страницы и показать сообщения об ошибках...

14
задан hemal 16 January 2010 в 12:42
поделиться

1 ответ

Вы должны явно решить, что делать с ошибками валидации:

@RequestMapping(method = RequestMethod.POST, value = "new") 
public String save(@Valid Article article, BindingResult result, ModelMap model) { 
    if (result.hasErrors())
        return "formView";
16
ответ дан 1 December 2019 в 07:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: