質問編集履歴
5
HTML修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -410,11 +410,9 @@
|
|
410
410
|
|
411
411
|
<!DOCTYPE html>
|
412
412
|
|
413
|
-
<html
|
413
|
+
<html>
|
414
|
-
|
415
|
-
|
414
|
+
|
416
|
-
|
417
|
-
<head
|
415
|
+
<head>
|
418
416
|
|
419
417
|
<meta charset="UTF-8">
|
420
418
|
|
@@ -424,37 +422,53 @@
|
|
424
422
|
|
425
423
|
<body>
|
426
424
|
|
427
|
-
|
425
|
+
<form method="post"
|
428
|
-
|
426
|
+
|
429
|
-
|
427
|
+
th:action="@{/weight_complete/}+${goalseqs[0].userid.id}"
|
428
|
+
|
430
|
-
|
429
|
+
th:object="${meisaiForm}">
|
430
|
+
|
431
|
-
<table>
|
431
|
+
<table>
|
432
|
-
|
432
|
+
|
433
|
-
<tr>
|
433
|
+
<tr>
|
434
|
-
|
434
|
+
|
435
|
-
<th>目標番号</th>
|
435
|
+
<th>目標番号</th>
|
436
|
-
|
436
|
+
|
437
|
-
<th>期中ウエイト</th>
|
437
|
+
<th>期中ウエイト</th>
|
438
|
-
|
438
|
+
|
439
|
-
<th>期末ウエイト</th>
|
439
|
+
<th>期末ウエイト</th>
|
440
|
-
|
440
|
+
|
441
|
-
<th></th>
|
441
|
+
<th></th>
|
442
|
-
|
442
|
+
|
443
|
-
</tr>
|
443
|
+
</tr>
|
444
|
-
|
444
|
+
|
445
|
-
<tr
|
445
|
+
<tr th:each="goalseq,st: ${goalseqs}">
|
446
|
-
|
446
|
+
|
447
|
-
<td><
|
447
|
+
<td><p th:text="${goalseq.goalid}"></p></td>
|
448
|
+
|
448
|
-
|
449
|
+
<td><input type=number name="meisaiList[1].goalWeight"
|
450
|
+
|
449
|
-
|
451
|
+
th:name="'MeisaiList[' +${st.index} +'].[1].goalWeight'"
|
452
|
+
|
450
|
-
|
453
|
+
th:value="${goalseq.meisaiList[1].goalWeight}"></td>
|
454
|
+
|
455
|
+
<td><input type=number name="meisaiList[2].goalWeight"
|
456
|
+
|
451
|
-
|
457
|
+
th:name="'MeisaiList[' +${st.index}+ '].[2].goalWeight'"
|
458
|
+
|
452
|
-
|
459
|
+
th:value="${goalseq.meisaiList[2].goalWeight}"></td>
|
460
|
+
|
453
|
-
</tr>
|
461
|
+
</tr>
|
454
|
-
|
462
|
+
|
455
|
-
</table>
|
463
|
+
</table>
|
464
|
+
|
456
|
-
|
465
|
+
<button type=submit>送信</button>
|
466
|
+
|
457
|
-
|
467
|
+
</form>
|
468
|
+
|
469
|
+
</body>
|
470
|
+
|
471
|
+
</html>
|
458
472
|
|
459
473
|
```
|
460
474
|
|
4
検証更新
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
Spring Boot+Thymeleaf 画面から入力された
|
1
|
+
Spring Boot+Thymeleaf 画面から入力された二次元配列の情報をフォームで受け取りたい
|
test
CHANGED
@@ -4,17 +4,17 @@
|
|
4
4
|
|
5
5
|
Spring Boot+Thymeleafで画面から入力されたリストの情報をフォームで受け取りたいです。
|
6
6
|
|
7
|
-
正確にはリストの中にあるリストの情報を受け取りたいです。
|
7
|
+
正確にはリストの中にあるリスト(二次元配列)の情報を受け取りたいです。
|
8
|
-
|
9
|
-
|
10
|
-
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
-
[Springにおいて画面のリスト状になっている情報をコントローラーで取得したい](https://teratail.com/questions/126627)を参照して、リストになっている情報をコントローラーで受け取る処理の実装を試みましたがうまく値が渡らず、form
|
11
|
+
[Springにおいて画面のリスト状になっている情報をコントローラーで取得したい](https://teratail.com/questions/126627)を参照して、リストになっている情報をコントローラーで受け取る処理の実装を試みましたがうまく値が渡らず、formから受け取る値がnullになってしまいます。
|
12
12
|
|
13
13
|
これは、リストの中にリストがない場合なので、リストの中にリストがある書き方に躓いてしまいました。
|
14
14
|
|
15
15
|
|
16
16
|
|
17
|
-
|
17
|
+
前回質問した、[SpringBoot フォームで複数レコードの値を受け取れない](https://teratail.com/questions/241894)では、リストの0番目の情報がすべての番号に反映されて更新されるだけの処理でした。
|
18
18
|
|
19
19
|
|
20
20
|
|
@@ -24,6 +24,12 @@
|
|
24
24
|
|
25
25
|
今回リストで更新したいのは、期中・期末の目標ウエイト(goalWeight)のみです。
|
26
26
|
|
27
|
+
目標番号のリストの中にウェイトのリストが入っていて、その値をformに送信します。
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
表示自体はできるのですが、javaに値がどうしても渡りません。
|
32
|
+
|
27
33
|
Thymeleafの書き方がおかしいのだと思います。
|
28
34
|
|
29
35
|
ご教授お願いします。
|
@@ -440,9 +446,9 @@
|
|
440
446
|
|
441
447
|
<td><input type="text" th:value="${goalseq.goalid}"></td>
|
442
448
|
|
443
|
-
<td><input type=number name="
|
449
|
+
<td><input type=number name="meisaiList[1].goalWeight" th:name="'MeisaiList[' +${st.index} +'].[1].goalWeight'" th:value="${goalseq.meisaiList[1].goalWeight}"></td>
|
444
|
-
|
450
|
+
|
445
|
-
<td><input type=number name="
|
451
|
+
<td><input type=number name="meisaiList[2].goalWeight" th:name="'MeisaiList[' +${st.index}+ '].[2].goalWeight'" th:value="${goalseq.meisaiList[2].goalWeight}" ></td>
|
446
452
|
|
447
453
|
</tr>
|
448
454
|
|
@@ -456,34 +462,30 @@
|
|
456
462
|
|
457
463
|
### 試したこと
|
458
464
|
|
459
|
-
|
465
|
+
・GoalSeqでeachを回すのではなく、Meisaiで回したらフォームに値が渡りました
|
460
|
-
|
466
|
+
|
461
|
-
S
|
467
|
+
→この方法で解決しましたがこの解決方法は、[Springにおいて画面のリスト状になっている情報をコントローラーで取得したい](https://teratail.com/questions/126627)と同じになってしまうので質問を残してあります。
|
462
|
-
|
463
|
-
```
|
464
|
-
|
465
|
-
・コントローラPOSTメソッドの引数をリストにしてみました→失敗
|
466
468
|
|
467
469
|
|
468
470
|
|
469
471
|
### 補足情報(FW/ツールのバージョンなど)
|
470
472
|
|
471
|
-
|
473
|
+
FormクラスのGoalSeqのレコード1つに対して、MeisaiのレコードはmeisaiListとして3つOneToManyで紐づいています。
|
472
|
-
|
474
|
+
|
475
|
+
|
476
|
+
|
473
|
-
|
477
|
+
目標1つに対して、外部テーブルで期初、期中、期末のステータスを紐づけています。
|
478
|
+
|
474
|
-
|
479
|
+
期初にあたるmeisaiListの0番目は更新する必要がないので、nameのところでは、
|
480
|
+
|
481
|
+
期中を「meisaiList[1].goalWeight」
|
482
|
+
|
483
|
+
期末を「meisaiList[2].goalWeight」
|
484
|
+
|
485
|
+
と表記しています。
|
486
|
+
|
487
|
+
|
488
|
+
|
489
|
+
|
490
|
+
|
475
|
-
|
491
|
+
初心者で至らない点があると思いますがよろしくお願いします。
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
追記
|
480
|
-
|
481
|
-
HTMLのinputタグ内のth:nameを下記のように変更したら中身はnullですがコントローラー側でリストで受け取れる段階まできました。
|
482
|
-
|
483
|
-
```HTML
|
484
|
-
|
485
|
-
<td><input type=number name="meisaiList[1].goalWeight" th:name="'MeisaiList[' +${st.index} +'].[1].goalWeight'" th:value="${goalseq.meisaiList[1].goalWeight}"></td>
|
486
|
-
|
487
|
-
<td><input type=number name="meisaiList[2].goalWeight" th:name="'MeisaiList[' +${st.index}+ '].[2].goalWeight'" th:value="${goalseq.meisaiList[2].goalWeight}" ></td>
|
488
|
-
|
489
|
-
```
|
3
補足追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -473,3 +473,17 @@
|
|
473
473
|
(目標1つに対して、外部テーブルで期初、期中、期末のステータスを紐づけています)
|
474
474
|
|
475
475
|
・初心者で至らない点があると思いますがよろしくお願いします。
|
476
|
+
|
477
|
+
|
478
|
+
|
479
|
+
追記
|
480
|
+
|
481
|
+
HTMLのinputタグ内のth:nameを下記のように変更したら中身はnullですがコントローラー側でリストで受け取れる段階まできました。
|
482
|
+
|
483
|
+
```HTML
|
484
|
+
|
485
|
+
<td><input type=number name="meisaiList[1].goalWeight" th:name="'MeisaiList[' +${st.index} +'].[1].goalWeight'" th:value="${goalseq.meisaiList[1].goalWeight}"></td>
|
486
|
+
|
487
|
+
<td><input type=number name="meisaiList[2].goalWeight" th:name="'MeisaiList[' +${st.index}+ '].[2].goalWeight'" th:value="${goalseq.meisaiList[2].goalWeight}" ></td>
|
488
|
+
|
489
|
+
```
|
2
補足
test
CHANGED
File without changes
|
test
CHANGED
@@ -4,10 +4,14 @@
|
|
4
4
|
|
5
5
|
Spring Boot+Thymeleafで画面から入力されたリストの情報をフォームで受け取りたいです。
|
6
6
|
|
7
|
+
正確にはリストの中にあるリストの情報を受け取りたいです。
|
8
|
+
|
7
9
|
|
8
10
|
|
9
11
|
[Springにおいて画面のリスト状になっている情報をコントローラーで取得したい](https://teratail.com/questions/126627)を参照して、リストになっている情報をコントローラーで受け取る処理の実装を試みましたがうまく値が渡らず、formの値がnullになってしまいます。
|
10
12
|
|
13
|
+
これは、リストの中にリストがない場合なので、リストの中にリストがある書き方に躓いてしまいました。
|
14
|
+
|
11
15
|
|
12
16
|
|
13
17
|
昨日質問した、[SpringBoot フォームで複数レコードの値を受け取れない](https://teratail.com/questions/241894)では、リストの0番目の情報がすべての番号に反映されて更新されるだけの処理でした。
|
@@ -466,4 +470,6 @@
|
|
466
470
|
|
467
471
|
・FormクラスのGoalSeqのレコード1つに対して、Meisaiのレコードは3つOneToManyで紐づいています
|
468
472
|
|
473
|
+
(目標1つに対して、外部テーブルで期初、期中、期末のステータスを紐づけています)
|
474
|
+
|
469
475
|
・初心者で至らない点があると思いますがよろしくお願いします。
|
1
url修正
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
Sp
|
1
|
+
Spring Boot+Thymeleaf 画面から入力されたリストの情報をフォームで受け取りたい
|
test
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
いつもお世話になっております。
|
4
4
|
|
5
|
-
Sp
|
5
|
+
Spring Boot+Thymeleafで画面から入力されたリストの情報をフォームで受け取りたいです。
|
6
|
-
|
7
|
-
|
8
|
-
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
-
[Springにおいて画面のリスト状になっている情報をコントローラーで取得したい](https://teratail.com/questions/
|
9
|
+
[Springにおいて画面のリスト状になっている情報をコントローラーで取得したい](https://teratail.com/questions/126627)を参照して、リストになっている情報をコントローラーで受け取る処理の実装を試みましたがうまく値が渡らず、formの値がnullになってしまいます。
|
10
10
|
|
11
11
|
|
12
12
|
|