我想知道Java play框架期望的查询参数分隔符是什么。
我在动作方法中检索我的查询参数,如下所示:
Map<String, String[]> qMap = request().queryString();
我希望其中一个参数中有一个双打列表,所以我这样提取它们:
double lat = Double.parseDouble(qMap.get("point")[0]);
double lon = Double.parseDouble(qMap.get("point")[1]);
我希望我可以使用以下查询传递这些参数:
?point=2,3
但这会呈现NumberFormatException
:
Caused by: java.lang.NumberFormatException: For input string: "2,3"
那么如何为单个查询参数传递值数组呢?
答案 0 :(得分:1)
要为同一查询字符串变量传递多个值,请构造一个如下的查询字符串:
?point=2&point=3
这会给你一个像这样的查询字符串映射:
{ point = [ "2", "3" ] }
也就是说,您也可以考虑使用两个单独的参数名称:
?lat=2&lon=3
...导致:
{ lat = [ 2 ], lon = [ 3 ] }