【发布时间】:2026-01-29 06:30:01
【问题描述】:
我想在查询字符串中创建一个二维数组并将其传递给 JSP。我可以附加字符串,但找不到附加二维数组的语法。
例子:
http://localhost:8080/queryWithQueryString?twodArray[0][0]=storeid&twodArray[0][1]=101
我怎样才能做到这一点?
【问题讨论】:
标签: jsp query-string
我想在查询字符串中创建一个二维数组并将其传递给 JSP。我可以附加字符串,但找不到附加二维数组的语法。
例子:
http://localhost:8080/queryWithQueryString?twodArray[0][0]=storeid&twodArray[0][1]=101
我怎样才能做到这一点?
【问题讨论】:
标签: jsp query-string
您可以按原样使用它。参数名称将按字面意思以这种形式出现。 JSP 对此没有任何特殊处理(与 PHP 不同)。所以你需要自己解析它。
String[][] twodArray = new String[1][];
twodArray[0] = new String[2];
twodArray[0][0] = request.getParameter("twodArray[0][0]");
twodArray[0][1] = request.getParameter("twodArray[0][1]");
对多个参数名称使用标准 HTTP 约定可能更容易。
http://localhost:8080/queryWithQueryString?twodArray[0]=storeid&twodArray[0]=101
与
String[][] twodArray = new String[1][];
twodArray[0] = request.getParameterValues("twodArray[0]");
使用List<String[]> 而不是String[][] 可能也更容易,因为List 可以动态扩展。如果您事先不知道物品的数量,这将很有帮助。
List<String[]> twodArray = new ArrayList<String[]>();
for (int i = 0; i < Integer.MAX_VALUE; i++) {
String[] values = request.getParameterValues("twodArray[" + i + "]");
if (values == null) break;
twodArray.add(values);
}
【讨论】: