zoukankan      html  css  js  c++  java
  • 【JSP/Servlet】后台如何获取复选框或可选属性的同名参数

    感觉自己jsp/servlet部分学的太差了……今天突然想到还有这种操作,遂分享之

    比如有些时候我们需要使用复选框发送同名数据的时候,后台接收参数是个麻烦事,还有可选属性也是如此

    有丰富经验的会想到api中早就有这个方法了,我们可以使用request.getParameterValues("参数名"); 来获取这个参数的字符串数组

    比如前台表单的数据为:

    <form aciton="test.action" method="post">
        I have a bike:
    <input type="checkbox" name="vehicle" value="Bike" checked="checked" />
    <br />
    I have a car: 
    <input type="checkbox" name="vehicle" value="Car" />
    <br />
    I have an airplane: 
    <input type="checkbox" name="vehicle" value="Airplane" />
    <br /><br />
    <input type="submit" value="Submit" />
    </form> 

    接收的时候需要很多同名参数,request.getParameter("vehicle"); 已经不能满足我们的需求了,只能接收一条,具体是第一条还是最后一条我没有测试……翻看Java ee api 才发现还有request.getParameterValues(); 供我们使用这样就可以这样实现了:

    import java.lang.StringBuffer;
    
    /**
    * 用的是struts2,都一样
    * 接受多个相同参数名数据……
    *这里就只写把这个前台参数接收过来转成字符串的方法了
    */
    public void receiveMsg(){
       String [] vehicles = request.getParameterValues("vehicle");
       StringBuffer buf = new StringBuffer(); 
       for(String vehicle :   vehicles){
          buf.append(vehicle);
      }
      String vehiclesString = buf.toString();
      System.out.println(vehiclesString);    
    }

    仅供参考,如有错误感谢批评指正

  • 相关阅读:
    [LeetCode]4Sum
    [LeetCode]3Sum
    [LeetCode]Two Sum
    [LeetCode]Maximal Rectangle
    [LeetCode]Largest Rectangle in Histogram
    [LeetCode]Sudoku Solver
    [LeetCode]Group Anagrams
    jQuery验证控件jquery.validate.js使用说明+中文API
    js操作cookie,实现登录密码保存
    Java中getResourceAsStream的用法
  • 原文地址:https://www.cnblogs.com/hellxz/p/7566874.html
Copyright © 2011-2022 走看看