快速业务通道

Spring 2.5:Spring MVC中的新特性 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20
我们为每个控制器定制必须项。

数据绑定结果和验证

数据绑定也许会导致类似于类型转换或域缺失的错误。不管发生什么错误,我们都希望能返回到编辑的表单,让用户自行更正。要想实现这个目的,我们可直接在方法签名的表单模型对象后面追加一个BindingResult对象,例程如下:

@RequestMapping(method=RequestMethod.POST) public ModelAndView onSubmit(Account account, BindingResult bindingResult) {    if (bindingResult.hasErrors()) {     ModelAndView mav = new ModelAndView();     mav.getModel().putAll(bindingResult.getModel());     return mav;    }    // Save the changes and redirect to the next view... }

发生错误时我们返回到出现问题的视图,并把从BindingResult得到的属性增加到模型上,这样特定域的错误就能够反馈给用户。要注意的是,我们并没有指定一个显式的视图名,而是允许DispatcherServlet依靠与入口URI路径信息匹配的默认视图名。

调用Validator对象并把BindingResult传给它,仅这一行代码就可实现验证操作。这允许我们在一个地方收集绑定和验证错误:

@RequestMapping(method=RequestMethod.POST) public ModelAndView onSubmit(Account account, BindingResult bindingResult) {    accountValidator.validate(account, bindingResult);    if (bindingResult.hasErrors()) {     ModelAndView mav = new ModelAndView();     mav.getModel().putAll(bindingResult.getModel());     return mav;    }    // Save the changes and redirect to the next view... }

现在是时候结束我们的Spring 2.5 Web层注解(非正式称法为@MVC)之旅了。

总结

Web层的注解已经证明是相当有用的,不仅是因为它能够大大减少XML配置文件的数量,而且还在于它能成就一个可自由访问 Spring MVC控制器技术的精致、灵活和简洁的程序设计模型。我们强烈推荐使用“惯例优先原则(convention-over-configuration)” 特性,以及以处理器映射为中心的策略给控制器派发请求,避免在源码中嵌入URI路径或是定义显式的视图名引用。

最后是本文没有讨论,但值得关注的一些非常重要的Spring MVC扩展。最新发布的Spring Web Flow版本2添加了一些特性,例如基于JSF视图的Spring MVC、Spring的JavaScript库,还有支持更先进编辑场景的高级状态和导航管理。

查看英文原文:Spring 2.5: New Features in Spring MVC。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号