后台Request获得表单的几种方法

本文介绍了五种在Java后台获取前端表单数据的方法,包括通过对应实体Bean、request.getParameter()、getParameterValues()、getParameterNames()以及getParameterMap()。在表单name值不确定时,后两种方式更为适用。

需求:如题:前段有个表单页面,后端为java后台,表单提交后,调用后端数据存储数据,后端获得表单数据


第一种:一般情况下,我们的表单字段都是固定的,那么我们很自然的会在后端写一个javaBean实体对象,与前端的表单中的name相对应,这样就很自然的可以取到。

第二种:request.getParameter("name"); 直接使用request,通过表单的控件name属性获得控件值

    @RequestMapping(value = "save", method = RequestMethod.POST)
    public void save(HttpServletRequest request,HttpServletResponse response) {
         //通过name属性获取值
        String name = request.getParameter("username");
        System.out.println("获取到的姓名是:"+name);
        String pwd  = request.getParameter("password");
        System.out.println("获取到的密码是: "+pwd);
    }

 

第三种:request.getParamterValues(String name);通过name获取value值(一般用于复选框获取值)

 
    @RequestMapping(value = "save", method = RequestMethod.POST)
    public void save(HttpServletRequest request,HttpServletResponse response) {
        //通过name属性获取value值
        String[] names = request.getParameterValues("username");
        for (String name : names) {
            System.out.println("获取得到的姓名是 " + name);
        }

        String[] hobbys = request.getParameterValues("hobby");
        for (String hobby : hobbys) {
            System.out.println("复选框的值是: " + hobby);
        }
    }

 

第四种:request.getParameterNames();直接获取表单所有对象的name值,返回值是枚举集合

    @RequestMapping(value = "save", method = RequestMethod.POST)
    public void save(HttpServletRequest request,HttpServletResponse response) {
          //通过name属性获取value值
        Enumeration<String> names2 = request.getParameterNames();
        while (names2.hasMoreElements()){
            String name =names2.nextElement();
            System.out.println(name);
        }
    }

 

第五种:request.getParameterMap();直接获取表单所有对象的name值以及数据,该方法的返回值是map集合,集合key是String类型,value是Sting类型的数组

   @RequestMapping(value = "save", method = RequestMethod.POST)
    public void save(HttpServletRequest request,HttpServletResponse response) {
        //通过map代表所有的值 ,集合中的key代表表单name值  value代表表单数据
        Map<String, String[]> map = request.getParameterMap();
        //通过keySet遍历集合
        Set<String> keySet = map.keySet();
        for(String key : keySet){
            System.out.println("表单的name值: "+key);
            //通过key值获取所有value值
            String[] values = map.get(key);
            for(String value : values ){
                System.out.println("表单中的数据:  "+value);
            }
        }
    }

 

总结:在表单的name值不确定或者不知道的情况下,可以采用后面两种,直接获得名称,然后取值。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值