springMVC3.0后台验证信息不显示的原因初探

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.......
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值