快速业务通道

使用Spring 2.5基于注解驱动的Spring MVC - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20
vice; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller @RequestMapping("/bbtForum.do") // <—— ① 指定控制器对应URL请求  public class BbtForumController {   @Autowired   private BbtForumService bbtForumService;   // <—— ② 如果URL请求中包括"method=listAllBoard"的参数,由本方法进行处理    @RequestMapping(params = "method=listAllBoard")   public String listAllBoard() {     bbtForumService.getAllBoard();     System.out.println("call listAllBoard method.");     return "listBoard";   }   // <—— ③ 如果URL请求中包括"method=listBoardTopic"的参数,由本方法进行处理    @RequestMapping(params = "method=listBoardTopic")   public String listBoardTopic(int topicId) {     bbtForumService.getBoardTopics(topicId);     System.out.println("call listBoardTopic method.");     return "listTopic";   } }

使用Spring 2.5基于注解驱动的Spring MVC(4)

时间:2011-01-26 IBM 陈雄华

在类定义处标注的 @RequestMapping 让 BbtForumController 处理所有包含 /bbtForum.do 的 URL 请求,而 BbtForumController 中的请求处理方法对 URL 请求的分流规则在 ② 和 ③ 处定义分流规则按照 URL 的 method 请求参数确定。所以分别在类定义处和方法定义处使用 @RequestMapping 注解,就可以很容易通过 URL 参数指定 Controller 的处理方法了。

@RequestMapping 注解中除了 params 属性外,还有一个常用的属性是 method,它可以让 Controller 方法处理特定 HTTP 请求方式的请求,如让一个方法处理 HTTP GET 请求,而另一个方法处理 HTTP POST 请求,如下所示:

清单 4. 让请求处理方法处理特定的 HTTP 请求方法

package com.baobaotao.web; import com.baobaotao.service.BbtForumService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @Controller @RequestMapping("/bbtForum.do") public class BbtForumController {   @RequestMapping(params = "method=createTopic",method = RequestMethod.POST)   public String createTopic(){     System.out.println("call createTopic method.");     return "createTopic";   } }

这样只有当 /bbtForum.do?method=createTopic 请求以 HTTP POST 方式提交时,createTopic() 方法才会进行处理。

处理方法入参如何绑定 URL 参数

按契约绑定

Controller 的方法标注了 @RequestMapping 注解后,它就能处理特定的 URL 请求。我们不禁要问:请求处理方法入参是如何绑定 URL 参数的呢?在回答这个问题之前先来看下面的代码:

清单 5. 按参数名匹配进行绑定

  @RequestMapping(params = "method=listBoardTopic")   //<—— ① topicId入参是如何绑定URL请求参数的?    public String listBoardTopic(int topicId) {     

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