Spring MVC 配列のGETパラメータを取得する方法

spring

Spring MVCのコントローラクラスで、配列のGETパラメータを取得する方法を紹介します。

配列ではない通常のパラメータの受け取りは、コチラに載せています。

[スポンサーリンク]

配列パラメータの取得方法

name[] のように定義するだけで配列パラメータを取得することができます。

@RequestMapping(value = "/", method = RequestMethod.GET)
public String home(
        @RequestParam("name") String name[],
        HttpServletRequest request,HttpServletResponse response,
		Locale locale, Model model) {

配列パラメータの渡し方

正常ケース

必ずname=test1&name=test2のような形式で渡してください。

http://localhost:8080/spring-mvc/?name=test1&name=test2

NGなケース

よくPHPとかで見かけるname[]=test1&name[]=test2の形で渡すと以下のようなエラーになります。

http://localhost:8080/spring-mvc/?name[]=test1&name[]=test2

HTTPステータス 400 - Required String[] parameter 'name' is not present

さいごに

チェックボックスのような値は配列で渡すことが多いので今回のやり方で対処することができます!

それでは!