在springMVC的controller层获取view层的参数的方式

本文详细介绍了Spring MVC中如何通过@RequestParam注解进行参数绑定,并解释了@RequestParam注解中required属性的作用,以及如何处理请求参数缺失的情况。

方法一:request.getParameter("name")

方法二:注解@RequestParam

@RequestMapping("testRequestParam")    
    //注解的方式
   public String filesUpload(@RequestParam(value="inputStr", required=false) String inputStr, HttpServletRequest request) {    
    System.out.println(inputStr); 
 
      //request.getParameter
    int inputInt = Integer.valueOf(request.getParameter("inputInt"));  
    System.out.println(inputInt);  
      
    // ......省略  
    return "index";  
   }    

前端代码

<form action="/gadget/testRequestParam" method="post">    
     参数inputStr:<input type="text" name="inputStr">    
     参数intputInt:<input type="text" name="inputInt">    
   <button>提交</button> </form>

 

前端界面: 
 

执行结果: 
test1 
123 

----说明在这里----------------------------------------------------------------------

1. 

1.(误人子弟) :直接写@RequestParam就行了,会把请求中同名参数绑定到方法上。

2.(正确):如果参数名和变量名不一致,可以使用@RequestParam(name),告诉spring,使用指定名字入参。

这种讲法明明是错误的。只有在debug模式编译时,参数名才会保留在class文件中,spring由此可以反射绑定。我们的应用明显不可能在debug模式下打包。因此第一种误人子弟啊,老师告诉你很简单的默认值做法是错误的,第二种方式才是正确的写法。

 2.

  required = true  --> 必须传参数

  required = false --> 可以没有参数,当没有参数的时候会给value赋值为null

 



3、可以通过required=false或者true来要求@RequestParam配置的前端参数是否一定要传 

Java代码  收藏代码
// required=false表示不传的话,会给参数赋值为null,required=true就是必须要有
@RequestMapping("testRequestParam")    
    public String filesUpload(@RequestParam(value="aa", required=true) String inputStr, HttpServletRequest request)  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值