teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

5

コード部微修正(再)

2018/05/21 04:31

投稿

S.niranira
S.niranira

スコア19

title CHANGED
File without changes
body CHANGED
@@ -43,7 +43,8 @@
43
43
  <td><input type="text" name="freeAccounts" th:name="'freeAccounts[' + ${stat.index} + ']'" th:value="${row.freeAccounts}" ></td>
44
44
  </tr>
45
45
  </tbody>
46
- </table>```
46
+ </table>
47
+ ```
47
48
  ```java
48
49
  @RequestMapping(params="selectInput", method=RequestMethod.POST)
49
50
  public String postSearch2(

4

コード部微修正

2018/05/21 04:31

投稿

S.niranira
S.niranira

スコア19

title CHANGED
File without changes
body CHANGED
@@ -24,43 +24,43 @@
24
24
  A-pZ様のご回答を参考に作ってみたのですが、データが取得できませんでした。
25
25
 
26
26
  ```html
27
- <table class="table table-striped table-bordered table-hover list ">
27
+ <table class="table table-striped table-bordered table-hover list ">
28
- <thead>
28
+ <thead>
29
- <tr>
29
+ <tr>
30
- <th>Action</th>
30
+ <th>Action</th>
31
- <th>クラス</th>
32
- <th>種別</th>
31
+ <th>会員種別</th>
32
+ <th>料金名</th>
33
- <th>価格</th>
33
+ <th>金額</th>
34
- <th>数</th>
34
+ <th>無料アカウント数</th>
35
- </tr>
35
+ </tr>
36
- </thead>
36
+ </thead>
37
- <tbody id="test_table1" th:each="row, stat : ${itemList}">
37
+ <tbody id="test_table1" th:each="row, stat : ${itemList}">
38
- <tr>
38
+ <tr>
39
- <td><input type="button" value="追加" onclick="insertRow('test_table1')" /></td>
39
+ <td><input type="button" value="追加" onclick="insertRow('test_table1')" /></td>
40
- <td><input type="text" name="membarType" th:name="'membarType[' + ${stat.index} + ']'" th:value="${row.membarType}" ></td>
40
+ <td><input type="text" name="membarType" th:name="'membarType[' + ${stat.index} + ']'" th:value="${row.membarType}" ></td>
41
- <td><input type="text" name="ratesCode" th:name="'ratesCode[' + ${stat.index} + ']'" th:value="${row.ratesCode}" ></td>
41
+ <td><input type="text" name="ratesCode" th:name="'ratesCode[' + ${stat.index} + ']'" th:value="${row.ratesCode}" ></td>
42
- <td><input type="text" name="amount" th:name="'amount[' + ${stat.index} + ']'" th:value="${row.amount}" ></td>
42
+ <td><input type="text" name="amount" th:name="'amount[' + ${stat.index} + ']'" th:value="${row.amount}" ></td>
43
- <td><input type="text" name="freeAccounts" th:name="'freeAccounts[' + ${stat.index} + ']'" th:value="${row.freeAccounts}" ></td>
43
+ <td><input type="text" name="freeAccounts" th:name="'freeAccounts[' + ${stat.index} + ']'" th:value="${row.freeAccounts}" ></td>
44
+ </tr>
44
- </tr> </tbody>
45
+ </tbody>
45
- </table>
46
+ </table>```
46
- ```
47
47
  ```java
48
- @RequestMapping(params="selectInput", method=RequestMethod.POST)
48
+ @RequestMapping(params="selectInput", method=RequestMethod.POST)
49
- public String postSearch2(
49
+ public String postSearch2(
50
- @ModelAttribute inputmodel formList,
50
+ @ModelAttribute inputmodel formList,
51
- Model model){
51
+ Model model){
52
52
 
53
-         ~~ 略 ~~
53
+       ~~ 略 ~~
54
54
 
55
- }
55
+ }
56
56
 
57
- @Data
57
+ @Data
58
- public static class inputmodel {
58
+ public static class inputmodel {
59
- List<String> membarType;
59
+ List<String> membarType;
60
- List<String> ratesCode;
60
+ List<String> ratesCode;
61
- List<String> amount;
61
+ List<String> amount;
62
- List<String> freeAccounts;
62
+ List<String> freeAccounts;
63
- }
63
+ }
64
64
  ```
65
65
  **<追記終了>**
66
66
 

3

htmlを修正

2018/05/21 04:30

投稿

S.niranira
S.niranira

スコア19

title CHANGED
File without changes
body CHANGED
@@ -37,12 +37,11 @@
37
37
  <tbody id="test_table1" th:each="row, stat : ${itemList}">
38
38
  <tr>
39
39
  <td><input type="button" value="追加" onclick="insertRow('test_table1')" /></td>
40
- <td><input type="text" name="membarType" th:name="'id[' + ${stat.index} + ']'" th:value="${row.id}" ></td>
40
+ <td><input type="text" name="membarType" th:name="'membarType[' + ${stat.index} + ']'" th:value="${row.membarType}" ></td>
41
- <td><input type="text" name="ratesCode" th:name="'id[' + ${stat.index} + ']'" th:value="${row.id}" ></td>
41
+ <td><input type="text" name="ratesCode" th:name="'ratesCode[' + ${stat.index} + ']'" th:value="${row.ratesCode}" ></td>
42
- <td><input type="text" name="amount" th:name="'id[' + ${stat.index} + ']'" th:value="${row.id}" ></td>
42
+ <td><input type="text" name="amount" th:name="'amount[' + ${stat.index} + ']'" th:value="${row.amount}" ></td>
43
- <td><input type="text" name="freeAccounts" th:name="'id[' + ${stat.index} + ']'" th:value="${row.id}" ></td>
43
+ <td><input type="text" name="freeAccounts" th:name="'freeAccounts[' + ${stat.index} + ']'" th:value="${row.freeAccounts}" ></td>
44
- </tr>
45
- </tbody>
44
+ </tr> </tbody>
46
45
  </table>
47
46
  ```
48
47
  ```java

2

質問内容の修正

2018/05/21 04:28

投稿

S.niranira
S.niranira

スコア19

title CHANGED
@@ -1,1 +1,1 @@
1
- Springにおいて画面のリスト状になっている情報をDBに登録したい
1
+ Springにおいて画面のリスト状になっている情報をコントローラーで取得したい
body CHANGED
@@ -2,39 +2,74 @@
2
2
 
3
3
  現状設計段階のため、まだ実際にコードを書いているわけではなく、
4
4
  手法としてできないかを質問させていただいております。
5
+ リスト型の情報をDBに登録する手段としてMyBatisの「BulkInsert」というものが使用できるとのことで、DB登録については解決しました。
6
+ (問題なく処理が行われるかは開発時に調べます。)
5
7
 
6
8
  ### 実現したいこと
7
9
 
8
- 画面上で<table>タグで囲われたリスト状になっている情報をDBに登録をしたいです。
10
+ 画面上で<table>タグで囲われたリスト状になっている情報を~~DBに登録をしたいです。~~
11
+ コントローラーで取得したいです。
9
12
  ![登録時に使用するリスト型](a758e9f3c1751f3032a79ecc2c673fb2.png)
10
13
 
11
14
  上記のように動的に行を加減できるリスト型をコントローラーでリスト型で受け取り、
12
15
  そのリストの行数分DBに登録をしていく形で実装を行いたいです。
13
- **<追記開始>**
14
16
  リストの加減は表左側の「追加」「削除」をクリックすることで入力行を加減します。
15
17
  DBからのリストで変動するのではなく、あくまでクライアント側での操作によりリストが加減する形です。
16
- **<追記終了>**
17
18
 
18
19
  自分なりに調べてみたところ、以下のページに記載してあるものが近い実装かと思っておりますが、
19
20
  [SpringMVC 複数のフォームオブジェクトにバインドする方法](http://kimulla.hatenablog.com/entry/2016/06/19/SpringMVC_%E8%A4%87%E6%95%B0%E3%81%AE%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%82%92%E9%80%81%E4%BF%A1%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95_1)
20
21
  動的にリストが変動するとなった際にどのようにやればよいのかを悩んでしまいました。
21
22
 
22
- DB側のテーブル構成は上記のリストと全く同じ形式で作成しているため、リストのレコードをそのままDBに登録できれば問題ないです。
23
23
  **<追記開始>**
24
- DB定義は以下の通りです。
25
- |項目名|カラム名|データ型|INDEX|制約|
26
- |:--|:--:|:--:|:--:|--:|
27
- |ID|id|int|-|Pkey, Auto, NotNull|
28
- |紐付コド|joinCode|Varchar(10)|1|NotNull|
24
+ A-pZ様のご回答を参考に作ってみたのですが、デタが取得できませんでした。
29
- |クラス|class|Varchar(2)|2|NotNull|
30
- |種別|type|Varchar(6)|-|NotNull|
31
- |価格|price|decimal(10,0)|-|NotNull|
32
- |個数|articlesNum|int|-|NotNull|
33
- |登録者ID|regId|int|2|NotNull|
34
- |登録日付|regDate|datetime(3)|-|NotNull|
35
- |更新者ID|modId|int|-|NotNull|
36
- |更新日付|modDate|datetime(3)|-|NotNull|
37
25
 
26
+ ```html
27
+ <table class="table table-striped table-bordered table-hover list ">
28
+ <thead>
29
+ <tr>
30
+ <th>Action</th>
31
+ <th>クラス</th>
32
+ <th>種別</th>
33
+ <th>価格</th>
34
+ <th>個数</th>
35
+ </tr>
36
+ </thead>
37
+ <tbody id="test_table1" th:each="row, stat : ${itemList}">
38
+ <tr>
39
+ <td><input type="button" value="追加" onclick="insertRow('test_table1')" /></td>
40
+ <td><input type="text" name="membarType" th:name="'id[' + ${stat.index} + ']'" th:value="${row.id}" ></td>
41
+ <td><input type="text" name="ratesCode" th:name="'id[' + ${stat.index} + ']'" th:value="${row.id}" ></td>
42
+ <td><input type="text" name="amount" th:name="'id[' + ${stat.index} + ']'" th:value="${row.id}" ></td>
43
+ <td><input type="text" name="freeAccounts" th:name="'id[' + ${stat.index} + ']'" th:value="${row.id}" ></td>
44
+ </tr>
45
+ </tbody>
46
+ </table>
47
+ ```
48
+ ```java
49
+ @RequestMapping(params="selectInput", method=RequestMethod.POST)
50
+ public String postSearch2(
51
+ @ModelAttribute inputmodel formList,
52
+ Model model){
53
+
54
+         ~~ 略 ~~
55
+
56
+ }
57
+
58
+ @Data
59
+ public static class inputmodel {
60
+ List<String> membarType;
61
+ List<String> ratesCode;
62
+ List<String> amount;
63
+ List<String> freeAccounts;
64
+ }
65
+ ```
38
66
  **<追記終了>**
39
67
 
68
+ **<削除開始>**
69
+ ~~DB側のテーブル構成は上記のリストと全く同じ形式で作成しているため、リストのレコードをそのままDBに登録できれば問題ないです。~~
70
+ ~~**<追記開始>**~~
71
+ ~~DB定義は以下の通りです。~~
72
+ ~~**<追記終了>**~~
73
+ **<削除終了>**
74
+
40
75
  お手数ですが、よろしくお願いします。

1

リストの加減方法、DB定義を追記

2018/05/21 02:55

投稿

S.niranira
S.niranira

スコア19

title CHANGED
File without changes
body CHANGED
@@ -10,11 +10,31 @@
10
10
 
11
11
  上記のように動的に行を加減できるリスト型をコントローラーでリスト型で受け取り、
12
12
  そのリストの行数分DBに登録をしていく形で実装を行いたいです。
13
+ **<追記開始>**
14
+ リストの加減は表左側の「追加」「削除」をクリックすることで入力行を加減します。
15
+ DBからのリストで変動するのではなく、あくまでクライアント側での操作によりリストが加減する形です。
16
+ **<追記終了>**
13
17
 
14
18
  自分なりに調べてみたところ、以下のページに記載してあるものが近い実装かと思っておりますが、
15
19
  [SpringMVC 複数のフォームオブジェクトにバインドする方法](http://kimulla.hatenablog.com/entry/2016/06/19/SpringMVC_%E8%A4%87%E6%95%B0%E3%81%AE%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%82%92%E9%80%81%E4%BF%A1%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95_1)
16
20
  動的にリストが変動するとなった際にどのようにやればよいのかを悩んでしまいました。
17
21
 
18
22
  DB側のテーブル構成は上記のリストと全く同じ形式で作成しているため、リストのレコードをそのままDBに登録できれば問題ないです。
23
+ **<追記開始>**
24
+ DB定義は以下の通りです。
25
+ |項目名|カラム名|データ型|INDEX|制約|
26
+ |:--|:--:|:--:|:--:|--:|
27
+ |ID|id|int|-|Pkey, Auto, NotNull|
28
+ |紐付コード|joinCode|Varchar(10)|1|NotNull|
29
+ |クラス|class|Varchar(2)|2|NotNull|
30
+ |種別|type|Varchar(6)|-|NotNull|
31
+ |価格|price|decimal(10,0)|-|NotNull|
32
+ |個数|articlesNum|int|-|NotNull|
33
+ |登録者ID|regId|int|2|NotNull|
34
+ |登録日付|regDate|datetime(3)|-|NotNull|
35
+ |更新者ID|modId|int|-|NotNull|
36
+ |更新日付|modDate|datetime(3)|-|NotNull|
19
37
 
38
+ **<追記終了>**
39
+
20
40
  お手数ですが、よろしくお願いします。