Java Play查询参数分隔符

时间:2014-01-05 01:58:40

标签: java playframework playframework-2.2 query-parameters playframework-routing

我想知道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"

那么如何为单个查询参数传递值数组呢?

1 个答案:

答案 0 :(得分:1)

要为同一查询字符串变量传递多个值,请构造一个如下的查询字符串:

?point=2&point=3

这会给你一个像这样的查询字符串映射:

{ point = [ "2", "3" ] }

也就是说,您也可以考虑使用两个单独的参数名称:

?lat=2&lon=3

...导致:

{ lat = [ 2 ], lon = [ 3 ] }