質問編集履歴
5
HTML修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -204,29 +204,36 @@
|
|
204
204
|
weight_input.html
|
205
205
|
```HTML
|
206
206
|
<!DOCTYPE html>
|
207
|
-
<html
|
207
|
+
<html>
|
208
|
-
xmlns:sec="http://www.thymeleaf.org/extras/spring-security">
|
209
|
-
<head
|
208
|
+
<head>
|
210
209
|
<meta charset="UTF-8">
|
211
210
|
<title>Insert title here</title>
|
212
211
|
</head>
|
213
212
|
<body>
|
214
|
-
|
213
|
+
<form method="post"
|
215
|
-
|
214
|
+
th:action="@{/weight_complete/}+${goalseqs[0].userid.id}"
|
215
|
+
th:object="${meisaiForm}">
|
216
|
-
|
216
|
+
<table>
|
217
|
-
|
217
|
+
<tr>
|
218
|
-
|
218
|
+
<th>目標番号</th>
|
219
|
-
|
219
|
+
<th>期中ウエイト</th>
|
220
|
-
|
220
|
+
<th>期末ウエイト</th>
|
221
|
-
|
221
|
+
<th></th>
|
222
|
-
|
222
|
+
</tr>
|
223
|
-
|
223
|
+
<tr th:each="goalseq,st: ${goalseqs}">
|
224
|
-
|
224
|
+
<td><p th:text="${goalseq.goalid}"></p></td>
|
225
|
+
<td><input type=number name="meisaiList[1].goalWeight"
|
225
|
-
|
226
|
+
th:name="'MeisaiList[' +${st.index} +'].[1].goalWeight'"
|
227
|
+
th:value="${goalseq.meisaiList[1].goalWeight}"></td>
|
228
|
+
<td><input type=number name="meisaiList[2].goalWeight"
|
226
|
-
|
229
|
+
th:name="'MeisaiList[' +${st.index}+ '].[2].goalWeight'"
|
230
|
+
th:value="${goalseq.meisaiList[2].goalWeight}"></td>
|
227
|
-
|
231
|
+
</tr>
|
228
|
-
|
232
|
+
</table>
|
229
|
-
|
233
|
+
<button type=submit>送信</button>
|
234
|
+
</form>
|
235
|
+
</body>
|
236
|
+
</html>
|
230
237
|
```
|
231
238
|
|
232
239
|
### 試したこと
|
4
検証更新
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
Spring Boot+Thymeleaf 画面から入力された
|
1
|
+
Spring Boot+Thymeleaf 画面から入力された二次元配列の情報をフォームで受け取りたい
|
body
CHANGED
@@ -1,16 +1,19 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
2
|
いつもお世話になっております。
|
3
3
|
Spring Boot+Thymeleafで画面から入力されたリストの情報をフォームで受け取りたいです。
|
4
|
-
正確にはリストの中にあるリストの情報を受け取りたいです。
|
4
|
+
正確にはリストの中にあるリスト(二次元配列)の情報を受け取りたいです。
|
5
5
|
|
6
|
-
[Springにおいて画面のリスト状になっている情報をコントローラーで取得したい](https://teratail.com/questions/126627)を参照して、リストになっている情報をコントローラーで受け取る処理の実装を試みましたがうまく値が渡らず、form
|
6
|
+
[Springにおいて画面のリスト状になっている情報をコントローラーで取得したい](https://teratail.com/questions/126627)を参照して、リストになっている情報をコントローラーで受け取る処理の実装を試みましたがうまく値が渡らず、formから受け取る値がnullになってしまいます。
|
7
7
|
これは、リストの中にリストがない場合なので、リストの中にリストがある書き方に躓いてしまいました。
|
8
8
|
|
9
|
-
|
9
|
+
前回質問した、[SpringBoot フォームで複数レコードの値を受け取れない](https://teratail.com/questions/241894)では、リストの0番目の情報がすべての番号に反映されて更新されるだけの処理でした。
|
10
10
|
|
11
11
|
イメージ画像は以下の通りです。送信ボタンを押されると、一気にレコードが更新されるイメージです。
|
12
12
|

|
13
13
|
今回リストで更新したいのは、期中・期末の目標ウエイト(goalWeight)のみです。
|
14
|
+
目標番号のリストの中にウェイトのリストが入っていて、その値をformに送信します。
|
15
|
+
|
16
|
+
表示自体はできるのですが、javaに値がどうしても渡りません。
|
14
17
|
Thymeleafの書き方がおかしいのだと思います。
|
15
18
|
ご教授お願いします。
|
16
19
|
### 発生している問題・エラーメッセージ
|
@@ -219,27 +222,25 @@
|
|
219
222
|
</tr>
|
220
223
|
<tr th:each="goalseq,st: ${goalseqs}">
|
221
224
|
<td><input type="text" th:value="${goalseq.goalid}"></td>
|
222
|
-
|
225
|
+
<td><input type=number name="meisaiList[1].goalWeight" th:name="'MeisaiList[' +${st.index} +'].[1].goalWeight'" th:value="${goalseq.meisaiList[1].goalWeight}"></td>
|
223
|
-
<td><input type=number name="
|
226
|
+
<td><input type=number name="meisaiList[2].goalWeight" th:name="'MeisaiList[' +${st.index}+ '].[2].goalWeight'" th:value="${goalseq.meisaiList[2].goalWeight}" ></td>
|
224
227
|
</tr>
|
225
228
|
</table>
|
226
229
|
|
227
230
|
```
|
228
231
|
|
229
232
|
### 試したこと
|
230
|
-
|
233
|
+
・GoalSeqでeachを回すのではなく、Meisaiで回したらフォームに値が渡りました
|
231
|
-
|
234
|
+
→この方法で解決しましたがこの解決方法は、[Springにおいて画面のリスト状になっている情報をコントローラーで取得したい](https://teratail.com/questions/126627)と同じになってしまうので質問を残してあります。
|
232
|
-
```
|
233
|
-
・コントローラPOSTメソッドの引数をリストにしてみました→失敗
|
234
235
|
|
235
236
|
### 補足情報(FW/ツールのバージョンなど)
|
236
|
-
|
237
|
+
FormクラスのGoalSeqのレコード1つに対して、MeisaiのレコードはmeisaiListとして3つOneToManyで紐づいています。
|
237
|
-
(目標1つに対して、外部テーブルで期初、期中、期末のステータスを紐づけています)
|
238
|
-
・初心者で至らない点があると思いますがよろしくお願いします。
|
239
238
|
|
240
|
-
|
239
|
+
目標1つに対して、外部テーブルで期初、期中、期末のステータスを紐づけています。
|
241
|
-
|
240
|
+
期初にあたるmeisaiListの0番目は更新する必要がないので、nameのところでは、
|
241
|
+
期中を「meisaiList[1].goalWeight」
|
242
|
+
期末を「meisaiList[2].goalWeight」
|
242
|
-
|
243
|
+
と表記しています。
|
244
|
+
|
245
|
+
|
243
|
-
|
246
|
+
初心者で至らない点があると思いますがよろしくお願いします。
|
244
|
-
<td><input type=number name="meisaiList[2].goalWeight" th:name="'MeisaiList[' +${st.index}+ '].[2].goalWeight'" th:value="${goalseq.meisaiList[2].goalWeight}" ></td>
|
245
|
-
```
|
3
補足追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -235,4 +235,11 @@
|
|
235
235
|
### 補足情報(FW/ツールのバージョンなど)
|
236
236
|
・FormクラスのGoalSeqのレコード1つに対して、Meisaiのレコードは3つOneToManyで紐づいています
|
237
237
|
(目標1つに対して、外部テーブルで期初、期中、期末のステータスを紐づけています)
|
238
|
-
・初心者で至らない点があると思いますがよろしくお願いします。
|
238
|
+
・初心者で至らない点があると思いますがよろしくお願いします。
|
239
|
+
|
240
|
+
追記
|
241
|
+
HTMLのinputタグ内のth:nameを下記のように変更したら中身はnullですがコントローラー側でリストで受け取れる段階まできました。
|
242
|
+
```HTML
|
243
|
+
<td><input type=number name="meisaiList[1].goalWeight" th:name="'MeisaiList[' +${st.index} +'].[1].goalWeight'" th:value="${goalseq.meisaiList[1].goalWeight}"></td>
|
244
|
+
<td><input type=number name="meisaiList[2].goalWeight" th:name="'MeisaiList[' +${st.index}+ '].[2].goalWeight'" th:value="${goalseq.meisaiList[2].goalWeight}" ></td>
|
245
|
+
```
|
2
補足
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,8 +1,10 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
2
|
いつもお世話になっております。
|
3
3
|
Spring Boot+Thymeleafで画面から入力されたリストの情報をフォームで受け取りたいです。
|
4
|
+
正確にはリストの中にあるリストの情報を受け取りたいです。
|
4
5
|
|
5
6
|
[Springにおいて画面のリスト状になっている情報をコントローラーで取得したい](https://teratail.com/questions/126627)を参照して、リストになっている情報をコントローラーで受け取る処理の実装を試みましたがうまく値が渡らず、formの値がnullになってしまいます。
|
7
|
+
これは、リストの中にリストがない場合なので、リストの中にリストがある書き方に躓いてしまいました。
|
6
8
|
|
7
9
|
昨日質問した、[SpringBoot フォームで複数レコードの値を受け取れない](https://teratail.com/questions/241894)では、リストの0番目の情報がすべての番号に反映されて更新されるだけの処理でした。
|
8
10
|
|
@@ -232,4 +234,5 @@
|
|
232
234
|
|
233
235
|
### 補足情報(FW/ツールのバージョンなど)
|
234
236
|
・FormクラスのGoalSeqのレコード1つに対して、Meisaiのレコードは3つOneToManyで紐づいています
|
237
|
+
(目標1つに対して、外部テーブルで期初、期中、期末のステータスを紐づけています)
|
235
238
|
・初心者で至らない点があると思いますがよろしくお願いします。
|
1
url修正
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
Spring Boot+Thymeleaf 画面から入力されたリストの情報をフォームで受け取りたい
|
body
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
2
|
いつもお世話になっております。
|
3
|
-
|
3
|
+
Spring Boot+Thymeleafで画面から入力されたリストの情報をフォームで受け取りたいです。
|
4
4
|
|
5
|
-
[Springにおいて画面のリスト状になっている情報をコントローラーで取得したい](https://teratail.com/questions/
|
5
|
+
[Springにおいて画面のリスト状になっている情報をコントローラーで取得したい](https://teratail.com/questions/126627)を参照して、リストになっている情報をコントローラーで受け取る処理の実装を試みましたがうまく値が渡らず、formの値がnullになってしまいます。
|
6
6
|
|
7
7
|
昨日質問した、[SpringBoot フォームで複数レコードの値を受け取れない](https://teratail.com/questions/241894)では、リストの0番目の情報がすべての番号に反映されて更新されるだけの処理でした。
|
8
8
|
|