zoukankan      html  css  js  c++  java
  • @RequestParam详解以及加与不加的区别

     以前写controller层的时候都是默认带上 @RequestParam 的, 今天发现不加@RequestParam 也能接收到参数

    下面我们来区分一下加与不加的区别

    这里有两种写法

    [html] view plain copy
     
    1. @RequestMapping("/list")  
    2.     public String test(@RequestParam  Long parentId) {  
    3.           
    4.     }  



    [html] view plain copy
     
    1. @RequestMapping("/list")  
    2.     public String test( Long parentId) {  
    3.           
    4.     }  


    第一种必须带有参数,也就是说你直接输入localhost:8080/list 会报错 不会执行方法 只能输入localhost:8080/list?parentId=? 才能执行相应的方法

    第二种 可带参数也可不带参数  就是说你输入  localhost:8080/list  以及 localhost:8080/list?parentId=?  方法都能执行

    当然你也可以设置 @RequestParam 里面的required为false(默认为true 代表必须带参数) 这样就跟第二种是一样的了

    如下:

    [html] view plain copy
     
    1. @RequestMapping("/list")  
    2.     public String test(@RequestParam(required=false)  Long parentId) {  
    3.         .....  
    4.     }  
    5.       

    当然你还可以设置里面的defaultValue的属性

    如下:

    [html] view plain copy
     
    1. @RequestMapping("/list")  
    2.     public String test(@RequestParam(defaultValue="0")  Long parentId) {  
    3.     ...   
    4.     }  
    5.       
    6.   
    7.       
    8.       

    这样在地址里面也可以不带参数,如果带了参数会接收,不带参数会默认为0

    里面还有一个value属性也讲一下, 前面所有的方法 传入的参数必须为parentId 才能接收到值

    但是如果你加了value属性

    [html] view plain copy
     
    1. @RequestMapping("/list")  
    2.     public String test(@RequestParam(value="id")  Long parentId) {  
    3.         ..  
    4.     }  
    5.       
    6.   
    7.       


    这样会用id 代替parentId  也就是说你地址里面传入的参数名称为id localhost:8080/list?id=? 这种

  • 相关阅读:
    [BZOJ 1033][ZJOI2008]杀蚂蚁antbuster
    [BZOJ 1972][Sdoi2010]猪国杀
    [BZOJ 1778][Usaco2010 Hol]Dotp 驱逐猪猡
    [BZOJ 1925][Sdoi2010]地精部落
    [BZOJ 1013][JSOI2008]球形空间产生器sphere
    [BZOJ 2438][中山市选2011]杀人游戏
    [BZOJ 1060][ZJOI2007]时态同步
    [BZOJ 1076][SCOI2008]奖励关
    [日常]蒟蒻的高一生活 Week 4
    [BZOJ 2510]弱题
  • 原文地址:https://www.cnblogs.com/moxiaotao/p/9139489.html
Copyright © 2011-2022 走看看