快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20
ss="org.springframework.web.servlet.view.InternalResourceViewResolver">    <property name="prefix" value="/WEB-INF/views/" />    <property name="suffix" value=".jsp" /> </bean>

强烈推荐视图名称依赖惯例的方式,因为这样可以从控制器代码中消除硬编码的视图名称。如果你想定制 DispatcherServlet获取默认视图名的方式,就在servlet上下文环境中配置一个你自己的 RequestToViewNameTranslator实现,并为其bean id赋名为“viewNameTranslator”。

Spring 2.5:Spring MVC中的新特性(3)

时间:2011-01-27 infoq 张凯峰

用@RequestParam提取和解析参数

@MVC另外一个特性是其提取和解析请求参数的能力。让我们继续重构上面的方法,并在其中添加@RequestParam注解:

@RequestMapping("/accounts/show") public void show(@RequestParam("number") String number, Map<String, Object> model) {    model.put("account", accountRepository.findAccount(number)); }

这里@RequestParam注解可以用来提取名为“number”的String类型的参数,并将之作为输入参数传入。 @RequestParam支持类型转换,还有必需和可选参数。类型转换目前支持所有的基本Java类型,你可通过定制的PropertyEditors 来扩展它的范围。下面是一些例子,其中包括了必需和可选参数:

@RequestParam(value="number", required=false) String number @RequestParam("id") Long id @RequestParam("balance") double balance @RequestParam double amount

注意,最后一个例子没有提供清晰的参数名。当且仅当代码带调试符号编译时,结果会提取名为“amount ”的参数,否则,将抛出IllegalStateException异常,因为当前的信息不足以从请求中提取参数。由于这个原因,在编码时最好显式的指定参数名。

继续@RequestMapping的讨论

把@RequestMapping放在类级别上是合法的,这可令它与方法级别上的@RequestMapping注解协同工作,取得缩小选择范围的效果,下面是一些例子。

类级别:

RequestMapping("/accounts/*")

方法级别:

@RequestMapping(value="delete", method=RequestMethod.POST) @RequestMapping(value="index", method=RequestMethod.GET, params="type=checking") @RequestMapping

第一个方法级的请求映射和类级别的映射结合,当HTTP方法是POST时与路径“/accounts/delete”匹配;第二个添加了一个要求,就是名为“type”的请求参数和其值“checking”都需要在请求中出现;第三个根本就没有指定路径,这个方法匹配所有的 HTTP方法,如果有必要的话可以用它的方法名。下面改写我们的方法,使它可以依靠方法名进行匹配,程序如下:

@Controller @RequestMapping("/accounts/*") public class AccountsController {    @RequestMapping(method=RequestMethod.GET)    public void show(@RequestParam("number") String number, Map<String, Object> model)   {     model.put("account", accountRepository.findAccount(number));    }    ...

方法匹配的请求是“/accounts/show”,依据的是类级别的@RequestMapping指定的匹配路径“/accounts/*”和方法名“show”。

Spring 2.5:Spring MVC中的新特性(4)

时间:2011-01-27 infoq 张凯峰

消除类级别的请求映射

Web层注解频遭诟病是

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号