0

Java play フレームワークが期待しているクエリ パラメータ区切り文字は何かと思っていました。

次のように、アクション メソッドでクエリ パラメータを取得します。

Map<String, String[]> qMap = request().queryString();

パラメータの 1 つに double のリストが必要なので、次のように抽出します。

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"

では、単一のクエリ パラメータに値の配列を渡すにはどうすればよいでしょうか。

4

1 に答える 1

1

同じクエリ文字列変数に複数の値を渡すには、次のようなクエリ文字列を作成します。

?point=2&point=3

これにより、次のようなクエリ文字列マップが得られます。

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

とはいえ、2 つの別個のパラメーター名を使用することも検討できます。

?lat=2&lon=3

... その結果:

{ lat = [ 2 ], lon = [ 3 ] }
于 2014-01-05T06:43:56.767 に答える