有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

数组javaservlet请求。getParameterValues()

我有一个数组,它保存我作为参数传递的其他数组。我使用request.getParameterValues()来获取参数,但问题是只有原始数组采用数组格式。数组中的数组正在转换为字符串。是否有其他方法发送和接收多维数组


共 (2) 个答案

  1. # 1 楼答案

    如果内部数组以逗号(,)分隔,请尝试下面的代码

    String[] outerArray=request.getParameterValues('parameterName');
    
    String[] innerArray=outerArray[0].split(",");
    

    动态地,您可以这样做,并使用不同的String[]来存储数据,或者使用ArrayListString[]

    for (int i = 0; i < outerArray.length; i++) {
    
               String[] innerArray=outerArray[i].split(",");         
            }
    
  2. # 2 楼答案

    如果使用GET方法,则必须按如下方式生成查询:

    http://localhost:8080/myApp/myServlet/?habits=Movies&habits=Writing&habits=Singing
    

    如果您使用的是POST方法,则必须使用application/x-www-form-urlencoded内容类型,或者只在HTML表单中使用POST方法。例如:

     <form method="post">
     Habits :
        <input type="checkbox" name="habits" value="Reading">Reading
        <input type="checkbox" name="habits" value="Movies">Movies
        <input type="checkbox" name="habits" value="Writing">Writing
        <input type="checkbox" name="habits" value="Singing">Singing
        <input type="submit" value="Submit">
     </form>
    

    在这两种情况下,在servlet中:

    String[] outerArray=request.getParameterValues('habits');
    your array will be filled with separated values:
    
    //["Writing","Singing"]