java-servlet request.getParameterValues()

时间:2011-04-11 08:16:53

标签: java arrays jsp servlets

我有一个数组,它包含我作为参数传递的其他数组。我使用request.getParameterValues()来获取参数但问题只是原始数组以数组格式出现。数组中的数组正在转换为字符串。还有另一种发送和接收多维数组的方法吗?

2 个答案:

答案 0 :(得分:21)

如果您使用的是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"]

答案 1 :(得分:1)

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

String[] outerArray=request.getParameterValues('parameterName');

String[] innerArray=outerArray[0].split(",");

动态地,您可以执行此操作并使用不同的String[]来存储数据或使用ArrayList String[]

for (int i = 0; i < outerArray.length; i++) {

           String[] innerArray=outerArray[i].split(",");         
        }