我在调度程序servlet中指定了<mvc:annotation-driven />
。 我没有使用@InitBinder。
,我使用了验证@Valid标注在控制器的方法类似在Spring MVC中使用@valid(JSR-303)进行验证时不显示错误消息
@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: 请求处理失败;嵌套0例外是 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: codes [article.urlInfo.url,urlInfo.url]; arguments [];默认邮件 [urlInfo.url]];默认消息 [未能将属性值 类型'java.lang.String'转换为所需的 类型'java.net.URL'属性 'urlInfo.url';嵌套异常是 org.springframework.core.convert.ConversionFailedException: 无法将类型为 'java.lang.String'的值转换为类型 'java.net.URL';嵌套异常是 org.springframework.core.convert.ConversionFailedException: 无法将类型为 'java.lang.String'的值转换为类型 'java.net.URL';嵌套的异常是 java.lang.reflect.InvocationTargetException] 字段'title'的对象'article'中的字段错误:rejected value [];代码 [Size.article.title,Size.title,Size.java.lang.String,Size]; 参数 [org.springframework.context.support.DefaultMessageSourceResolvable: codes [article.title,title];论据 [];默认消息 [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)
如何配置它,不是抛出一个异常,而是返回到页面,并显示错误信息......
您是如何启用验证的?在你的控制器上使用'@ InitBinder',或者在你的上下文中使用' '?无论您使用哪一个,请将这些位添加到您的问题中。 –
skaffman
2010-01-16 11:51:20