springMVC3.0后台验证信息不显示的原因初探
2014-01-27 13:59
218 查看
springMVC3.0提供了很方便的后套验证机制,但初学的时候发现验证信息经常显示不出来。
一般来说,new一个空对象,放到model里,显示到页面,提交到控制器,只要控制器参数里有@Valid 类名 对象名及BindingResult,验证消息都能出来。
但是经常出现的情况是对象要初始化,或者对象在修改状态下,这时就有可能不显示验证消息,而控制器走向还是正确的。
经过摸索,发现要注意几点:
1、传输的对象参数要有@Valid注解
2、传输的对象参数要有@ModelAttribute("对象名")注解,注意:("对象名")是必须的,不写的话验证信息不会像是
3、BindingResult参数紧跟在对象参数后面
4、参数里带上Model,传递对象参数到页面
具体写法大致如下:
@RequestMapping(value="aaa",method=RequestMethod.POST)
public String update(@Valid @ModelAttribute("content")Content content,
@BindingResult result,Model model){
if(result.hasErrors()){
model.addAttribute("content", content);
return "edit";
}
service.update.......
}
一般来说,new一个空对象,放到model里,显示到页面,提交到控制器,只要控制器参数里有@Valid 类名 对象名及BindingResult,验证消息都能出来。
但是经常出现的情况是对象要初始化,或者对象在修改状态下,这时就有可能不显示验证消息,而控制器走向还是正确的。
经过摸索,发现要注意几点:
1、传输的对象参数要有@Valid注解
2、传输的对象参数要有@ModelAttribute("对象名")注解,注意:("对象名")是必须的,不写的话验证信息不会像是
3、BindingResult参数紧跟在对象参数后面
4、参数里带上Model,传递对象参数到页面
具体写法大致如下:
@RequestMapping(value="aaa",method=RequestMethod.POST)
public String update(@Valid @ModelAttribute("content")Content content,
@BindingResult result,Model model){
if(result.hasErrors()){
model.addAttribute("content", content);
return "edit";
}
service.update.......
}
相关文章推荐
- springMVC3.0后台验证信息不显示的原因初探
- springMVC后台验证信息不显示的原因初探
- javaweb工程浏览器上传文件后台不显示文件信息的原因
- springmvc 框架,后台跳转到Jsp页面后,显示的是源码
- 如何自定义Struts2表单验证后的错误信息显示格式 .
- 动态显示jQuery.validator 的验证信息
- vue.js+elementUI学习01之后台管理登录验证实现axios和springMVC交互
- javaEE01-使用很HTML的排版标签编写“网站信息页面”,使用图片标签编写“图面显示页面”,使用列表标签编写“友情链接页面”,使用表格标签编写“首页”,框架标签表现“后台页面”
- SSH2 -- 验证信息重复显示问题(问题已解决)
- dede数据库文件导入失败的可能原因是数据表前缀不同,这里的失败指的是mysql添加了数据,但后台不显示
- AngularJs在单击提交后显示验证信息.
- 自定义Struts2表单验证后的错误信息显示格式/样式
- SpringMvc实战--在一个页面显示Controller中所有的方法信息
- SpringMVC接收ajax传送的参数,后台显示乱码
- Asp.net后台类中使用alter弹出窗显示信息(对于后台调试代码超有用!)
- 在后台向前台显示提示信息的方法
- 使用Struts框架验证时,校验提示信息不显示前面的点
- 如何让SharePoint Service 3.0显示真正的错误原因
- 毕业设计(十一)---后台用户管理(1)之-用户信息分页显示[hibernateTemplate分页]
- SpringMVC学习系列-后记 结合SpringMVC和Hibernate-validator,根据后台验证规则自动生成前台的js验证代码