3

HTML の複数選択オプション ボックスから複数の値を取得しようとしています。

コントローラーに入ります:

/test?t=1&t=2&t=3

コントローラーで、int 配列を取得しようとします。

@RequestParam(value = "t", required = true) int[] t

しかし、次を使用して確認すると:

t.length

1 つしか表示されません。つまり、Spring は 1 つのパラメーターのみを取得しますが、3 を期待していました。

4

2 に答える 2

5

spring がパラメーター配列を String 以外の特定の型に変換するとは思わないので、次のことを試してください。

@RequestParam(value = "t", required = true) String[] t

次にInteger.parseInt()、文字列を int に変換するために使用します。

于 2012-04-25T21:29:56.073 に答える
4

これは、Spring 3.2 バージョンで期待どおりに機能しています。私は方法を持っています:

@RequestMapping(value = "/blueprint", method = RequestMethod.GET)
public ModelAndView blueprint(@RequestParam(value = "blueprints", required = false) int[] blueprints)

そして使用時

http://localhost:9000/blueprint?blueprints=2&blueprints=1

また

http://localhost:9000/nbu-portal-webapp/blueprint?blueprints=1,2

値は正しい int 配列に変換されています。

于 2013-03-25T21:12:19.657 に答える