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)  
  • 相关阅读:
    客户细分那点事_实践1
    和各种人去交流_好玩的事
    客户细分那点事_理论篇
    模型持久化
    天赋是积累出来的——转载自周鸿祎博客
    Pytorch——torch.nn.Sequential()详解
    第2章 Python序列
    Pytorch将数据打包
    线性回归的从零开始实现
    plt.scatter 各参数详解
  • 原文地址:https://www.cnblogs.com/xuange306/p/5878065.html
Copyright © 2011-2022 走看看