• SpringMVC----@RequestMapping_PathVariable映射URL绑定的占位符


    1.概述

      带占位符的URL是spring3.0新增的功能,该功能在SpringMVC向REST目标挺进发展过程中具有里程碑的意义;

      通过@PathVariable可以将URL中占位符参数绑定到控制器处理方法的入参中:URL中的{xxx}占位符可以通过@PathVariable("xxx")绑定到操作方法的入参中;

    2.代码

    测试类:
    
    package com.yk.springmvc.handlers;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.PathVariable;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    
    @RequestMapping("/springmvc")
    @Controller
    public class SpringMVCTest {
    
        private static final String SUCCESS = "success";
        
        
        @RequestMapping("/testPathVariable/{id}")
        public String testPathVariable(@PathVariable(value=("id")) Integer id){
            System.out.println("SpringMVCTest.testPathVariable()"+id);
            return SUCCESS;
        }
        
        @RequestMapping("/testAntPath/*/abc")
        public String testAntPath(){
            System.out.println("SpringMVCTest.testAntPath()");
            return SUCCESS;
        }
    
        /**
         * 可以使用params和headers来更加精确映射请求,params和headers支持简单的表达式
         * @return
         */
        @RequestMapping(value="testParamsAndHeaders",params={"username","age!=10"}/*,headers={"Accept-Language:zh-CN,zh;q=0.9"}*/)
        public String testParamsAndHeaders(){
            System.out.println("SpringMVCTest.testParamsAndHeaders()");
            return SUCCESS;
        }
    
        /**
         * 使用method属性指定请求方式
         * @return
         */
        @RequestMapping(value="/testMethod",method=RequestMethod.POST)
        public String testMethod(){
            System.out.println("SpringMVCTest.testMethod()");
            return SUCCESS;
        }
    
        @RequestMapping("/testRequestMapping")
        public String testRequestMapping(){
            System.out.println("SpringMVCTest.testRequestMapping()");
            //        return "success";    下面会有很多,所以定义一个常量
            return SUCCESS;
        }    
    }
    
    
    
    index.jsp
    
    <a href="springmvc/testPathVariable/1">testPathVariable</a>
    
    
    
    结果返回:
    
    SpringMVCTest.testPathVariable()1
    SpringMVCTest.testPathVariable()100000
    SpringMVCTest.testPathVariable()100000
    SpringMVCTest.testPathVariable()15555
  • 相关阅读:
    全景转换工具
    Leetcode 215.数组中的第k个最大元素
    Leetcode 214.最短回文串
    Leetcode 213.大家劫舍II
    Leetcode 212.单词搜索II
    Leetcode 211.添加与搜索单词
    Leetcode 209.长度最小的子数组
    Leetcode 208.实现前缀树
    Leetcode 207.课程表
    Leetcode 206.反转链表
  • 原文地址:https://www.cnblogs.com/yikuan-919/p/9726593.html
Copyright © 2020-2023  润新知