LoginSignup
0
0

Spring Boot: ビューの複数データをコントローラのListで受けた例

Posted at

この記事で分かる事

SpringBootを使用したWebアプリケーション開発において、ビューから送信された(キーが同じ)複数のデータをコントローラのListクラスで受け取る際、どのような形で格納されるか、表にまとめています。
表を見る事で、コントローラのデータハンドリングを適切に指定できます。

リクエストとList内データのまとめ

・条件
リクエストはhoge=valueの形式で送ります。
コントローラのListクラスの型はList<String> hogeで宣言しています。
hoge
(デバッグで見た値)はEclipceのデバッグ機能で表示された値を記載しています。

リクエストの状態\List hoge
(デバッグで見た値)
hoge.size()
(実行結果)
hoge.get(0)
(実行結果)
keyがリクエストに無い null NullPointerException at size() NullPointerException at get(int)
key、value共に有りが1ペア
(hoge=value1)
[value1] 1 value1
key、value共に有りが2ペア
(hoge=value1、
 hoge=value2)
[value1, value2] 2 value1
keyはあるが、valueは無し
(hoge=)
[] 0 IndexOutOfBoundsException
keyは2つあるが、どちらもvalueは無し
(hoge=
 hoge=)
[null, null] 2 null

感想

表の3行目まではイメージ通りでしたが、最後の2つ
「keyはあるが、valueは無し」
「keyは2つあるが、どちらもvalueは無し」
の結果について次の点で以外だと感じました。
・リクエストが(hoge=)の場合、hoge.size()とhoge.get(0)共にエラーとなると予想しましたが違った事
・リクエストが(hoge=)の場合と(hoge= ,hoge=)の場合で結果が違う結果になる事

リクエストにはvalueが存在するデータのみ送る方が分かりやすいと思いました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0