zoukankan      html  css  js  c++  java
  • 第三节:@RequestMapping 映射请求参数

    一、映射规定请求参数

      @RequestMapping 的 params 表示规定映射请求参数。

    二、请求参数

      params:用来规定客户端传到服务器的数据,支持表达式
      params 的简单的表达式:
    param1: 表示请求必须包含名为 param1 的请求参数
    
    !param1: 表示请求不能包含名为 param1 的请求参数
    
    param1 != value1: 表示请求包含名为 param1 的请求参数,但其值不能为 value1
    
    {"param1=value1", "param2"}: 请求必须包含名为 param1 和param2 的两个请求参数,且 param1 参数的值必须为 value1
    

      

    三、代码示例

      (1)定义控制器方法

    //了解: 可以使用 params 来更加精确的映射请求. params 支持简单的表达式.
    @RequestMapping(value="/testParams", params= {"username","age!=10"})
    public String testParams(){
        System.out.println("testParams...");
        return "success";
    }

      (2)请求URL

    <!--设置请求参数信息 -->        
    <a href="springmvc/testParams">testParams</a>

      (3)测试:使用火狐 或 Chrome 浏览器 debug 测试

        ① 测试有参数情况(不正确)

          情况一:没有参数情况

    请求:
    <a href="springmvc/testParams">testParams</a>
    
    异常:
    No matching handler method found for servlet request: path '/springmvc/testParams', method 'GET', parameters map[[empty]
    

      

          情况二:有参数,但不匹配指定的参数的键

    请求:
    <a href="springmvc/testParams?age=11">testParams</a>
    
    异常:
    No matching handler method found for servlet request: path '/springmvc/testParamsAndHeaders', method 'GET', parameters map['age' -> array<String>['11']]

        ② 测试有参数情况(正确)

     <a  href="springmvc/testParams?username=springmvc&age=15">testParams</a>
    

      

  • 相关阅读:
    Leetcode 449. Serialize and Deserialize BST
    机器学习入门(1)------python基础
    Leetcode 23. Merge k Sorted Lists
    mysql explain执行计划详解
    ubuntu下安装chrome浏览器证书
    ubantu下配置android开发环境(Ubuntu 12.04.4 LTS x64 dell 3420)
    system v信号量的深入剖析
    AI文件格式解析
    STC12LE5A60S2第二串口出现的奇葩问题
    ZIGBEE官方协议栈 SampleApp工程DemoEB项目 运行机制详解
  • 原文地址:https://www.cnblogs.com/niujifei/p/15502578.html
Copyright © 2011-2022 走看看