zoukankan      html  css  js  c++  java
  • 在springMVC的controller层获取view层的参数的方式

    方法一: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)  
  • 相关阅读:
    尘误解
    了解了解你自己的话zookeeper(从那时起,纠正了一些说法在线)
    HDU 5055 Bob and math problem(结构体)
    Linux通过编辑器vi使用介绍
    OCP-1Z0-051-名称解析-文章32称号
    刘强东:解密京东10甘蔗理论
    Android结构分析Android智能指针(两)
    hbase ganglia监控配置
    第一个位和一个真正的项目件
    Html5 の 微信飞机大战
  • 原文地址:https://www.cnblogs.com/xuange306/p/5878065.html
Copyright © 2011-2022 走看看