Tôi đã chỉ định <mvc:annotation-driven />
trong bộ điều phối-servlet. Tôi không sử dụng @InitBinder.
Và tôi đang sử dụng chú thích @valid để xác nhận trong phương pháp điều khiển của nhưKhông hiển thị thông báo lỗi khi được xác thực bằng @valid (JSR-303) trong Spring MVC
@RequestMapping(method = RequestMethod.POST, value = "new")
public String save(@Valid Article article,ModelMap model) {
//code here
}
Và xác nhận hoạt động tốt, nhưng thay vì hiển thị lỗi trong .. mẫu thể hiện trong mã html
<tr>
<td>Title</td>
<td><form:input path="title"/></td>
<td><form:errors path="title"/></td>
</tr>
Nó ném ngoại lệ như ..
org.springframework.web.util.NestedServletException: Yêu cầu xử lý thất bại; lồng nhau ngoại lệ là org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 2 lỗi lỗi Field ở đối tượng 'bài' trên sân 'urlInfo.url': giá trị từ chối []; mã số [typeMismatch.article.urlInfo.url, typeMismatch.urlInfo.url, typeMismatch.url, typeMismatch.java.net.URL, typeMismatch]; đối số [org.springframework.context.support.DefaultMessageSourceResolvable: mã [article.urlInfo.url, urlInfo.url]; đối số []; thông báo mặc định [urlInfo.url]]; thông báo mặc định [Không thể chuyển đổi giá trị thuộc tính của nhập 'java.lang.String' thành yêu cầu nhập 'java.net.URL' cho thuộc tính 'urlInfo.url'; ngoại lệ lồng nhau là org.springframework.core.convert.ConversionFailedException: Không thể chuyển đổi giá trị từ loại 'java.lang.String' thành loại 'java.net.URL'; ngoại lệ lồng nhau là org.springframework.core.convert.ConversionFailedException: Không thể chuyển đổi giá trị từ loại 'java.lang.String' thành loại 'java.net.URL'; ngoại lệ lồng nhau là java.lang.reflect.InvocationTargetException] Lỗi trường trong đối tượng 'bài viết' trên trường 'tiêu đề': giá trị bị từ chối []; mã số [Size.article.title, Size.title, Size.java.lang.String, Size]; đối số [org.springframework.context.support.DefaultMessageSourceResolvable: mã [article.title, title]; đối số []; thông báo mặc định [tiêu đề], {javax.validation.constraints.Size.message}, 6, [Ljava.lang.Class; @ 1db3aac, 2147483647, [Ljava.lang.Class; @ 1e90abf]; nhắn mặc định [size phải từ 6 và 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)
Làm thế nào để cấu hình nó, để không ném một ngoại lệ và thay vào đó trở về trang và hiển thị thông báo lỗi ...
Bạn đã bật xác thực bằng cách nào?Sử dụng '@ InitBinder' trên bộ điều khiển của bạn, hoặc' 'trong ngữ cảnh của bạn? Cho dù bạn đang sử dụng cái nào, hãy thêm những bit đó vào câu hỏi của bạn. –
skaffman