zoukankan      html  css  js  c++  java
  • Spring mvc中@RequestMapping 6个基本用法整理

    继续整理,这个是前段时间用jsp开发的一个站点,说起来php程序员去做jsp程序确实有些小不适应,但是弄完后绝对对于这种强类型语言而比收获还是颇多的。

    1,最基本的,方法级别上应用
    @RequestMapping(value="/departments")  
    public String simplePattern(){  
      
      System.out.println("simplePattern method was called");  
      return "someResult";  
      
    }  
     则访问http://localhost/xxxx/departments的时候,会调用 simplePattern方法了
    2, 参数绑定    
    @RequestMapping(value="/departments")  
    public String findDepatment(  
      @RequestParam("departmentId") String departmentId){  
        
        System.out.println("Find department with ID: " + departmentId);  
        return "someResult";  
      
    }      
      形如这样的访问形式:
       /departments?departmentId=23就可以触发访问findDepatment方法了  
    
    3, REST风格的参数  
    @RequestMapping(value="/departments/{departmentId}")  
    public String findDepatment(@PathVariable String departmentId){  
      
      System.out.println("Find department with ID: " + departmentId);  
      return "someResult";  
      
    }    
      形如REST风格的地址访问,比如:  
    /departments/23,其中用(@PathVariable接收rest风格的参数  
    
    4,REST风格的参数绑定形式之2  
       先看例子,这个有点象之前的:  
    @RequestMapping(value="/departments/{departmentId}")  
    public String findDepatmentAlternative(  
      @PathVariable("departmentId") String someDepartmentId){  
      
        System.out.println("Find department with ID: " + someDepartmentId);  
        return "someResult";  
      
    }  
       这个有点不同,就是接收形如/departments/23的URL访问,把23作为传入的departmetnId,,但是在实际的方法findDepatmentAlternative中,使用  
    @PathVariable("departmentId") String someDepartmentId,将其绑定为  
    someDepartmentId,所以这里someDepartmentId为23  
    
    5, url中同时绑定多个id  
    @RequestMapping(value="/departments/{departmentId}/employees/{employeeId}")  
    public String findEmployee(  
      @PathVariable String departmentId,  
      @PathVariable String employeeId){  
      
        System.out.println("Find employee with ID: " + employeeId +   
          " from department: " + departmentId);  
        return "someResult";  
      
    }  
       这个其实也比较好理解了。
    
    6, 支持正则表达式  
    @RequestMapping(value="/{textualPart:[a-z-]+}.{numericPart:[\d]+}")  
    public String regularExpression(  
      @PathVariable String textualPart,  
      @PathVariable String numericPart){  
      
        System.out.println("Textual part: " + textualPart +   
          ", numeric part: " + numericPart);  
        return "someResult";  
    }  
       比如如下的URL:/sometext.123,则输出:  
    Textual part: sometext, numeric part: 123. 
    

      

    一个人静静坐在电脑面前写代码的感觉,那是什么感觉?那是武林高手闭关修炼的感觉。
  • 相关阅读:
    阿里测试工程师教你自动化测试如何准备测试数据
    同一个tomcat下部署多个springboot项目时,springboot项目无法正常启动的问题
    ant desgin pro 跨页面传参
    富兰克林的人生信条
    node 一拉管理工具 yarn安装(npm的替代品)
    python pip 安装包下载过慢的解决方法 socket.timeout: The read operation timed out
    springBoot 文件下载
    Excel无法打开文件xxx.xlsx,因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配
    MYSQL like 模糊查询 分字查询
    人人译视界-给视频添加srt字幕
  • 原文地址:https://www.cnblogs.com/bieanju/p/5801617.html
Copyright © 2011-2022 走看看