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

質問編集履歴

1

SpringMVCフレームワーク使用の宣言。コード記述部の書式の改善

2018/03/11 14:48

投稿

kakudeath
kakudeath

スコア6

title CHANGED
@@ -1,1 +1,1 @@
1
- MVC データの受け渡し
1
+ SpringMVC データの受け渡し
body CHANGED
@@ -1,5 +1,8 @@
1
1
  ### 前提・実現したいこと
2
2
  閲覧いただきありがとうございます。
3
+
4
+ **SpringMVCフレームワークを使用しています**
5
+
3
6
  JavaEEを使用してウェブショッピングサイトのようなものを作成しています。
4
7
  画面は初期画面(init.jsp)と明細追加画面(add.jsp)と確認画面(質問には直接関係ありません)があり、今回初期画面と明細追加画面の動作が思った通りにならないため質問させていただきました。長文になりますがどうかよろしくお願いいたします。
5
8
  希望する動作としては以下の通りです。
@@ -28,6 +31,7 @@
28
31
 
29
32
  ### 該当のソースコード
30
33
  Manager.javaの一部
34
+ ```Java
31
35
  public final class Manager {
32
36
 
33
37
  /** 商品データ */
@@ -63,9 +67,10 @@
63
67
  list.set(list.indexOf(item), item);
64
68
  }
65
69
  }
70
+ ```
66
71
 
67
- _________
68
72
  Item.javaの一部
73
+ ```Java
69
74
  /** 商品id */
70
75
  private String id;
71
76
  /** 商品名 */
@@ -76,11 +81,12 @@
76
81
  private int quantity;
77
82
  /** 小計 */
78
83
  private int subtotal;
84
+  以下、上記のコンストラクタとgetterとsetterがあります
85
+ ```
79
86
 
80
- 上記のコンストラクタとgetterとsetterがあります。
87
+
81
- _________
82
88
  ShopForm.javaの一部
83
-
89
+ ```Java
84
90
  /** 商品id */
85
91
  private String id;
86
92
  /** 商品名 */
@@ -91,25 +97,26 @@
91
97
  private int quantity;
92
98
  /** 小計 */
93
99
  private int subtotal;
94
-
100
+
95
- 上記のコンストラクタとgetterとsetterがあります。
101
+  以下、上記のコンストラクタとgetterとsetterがあります。
96
- _________
102
+ ```
103
+
97
104
  ShopSystemController.java
98
-
105
+ ```Java
99
106
  @Controller
100
107
  @RequestMapping(value = "/system")
101
108
  public class ShopSystemController {
102
- private static final String INIT = "init";
109
+ private static final String INIT = "init";
103
- private static final String ADD = "add";
110
+ private static final String ADD = "add";
104
- private String message;
111
+ private String message;
105
112
 
106
- @RequestMapping(value = "/start")
113
+ @RequestMapping(value = "/start")
107
- public String init(ShopForm form, Model model) {
114
+ public String init(ShopForm form, Model model) {
108
- model.addAttribute("allList", Manager.getItemList());
115
+ model.addAttribute("allList", Manager.getItemList());
109
- model.addAttribute("message", message);
116
+ model.addAttribute("message", message);
110
- model.addAttribute("nameList", Manager.makeNameList());
117
+ model.addAttribute("nameList", Manager.makeNameList());
111
- return INIT;
118
+ return INIT;
112
- }
119
+ }
113
120
 
114
121
  /**
115
122
  * 初期画面から呼ばれる。
@@ -119,60 +126,65 @@
119
126
  */
120
127
  @RequestMapping(params = ADD)
121
128
  public String add(ShopForm form, BindingResult result, Model model){
122
- model.addAttribute("allList", Manager.selectProduct(form.getName()));
129
+ model.addAttribute("allList", Manager.selectProduct(form.getName()));
123
- model.addAttribute("nameList", Manager.makeNameList());
130
+ model.addAttribute("nameList", Manager.makeNameList());
124
- model.addAttribute("message", "明細追加完了");
131
+ model.addAttribute("message", "明細追加完了");
125
- return ADD;
132
+ return ADD;
126
133
  }
127
134
  }
128
- ___________
135
+ ```
136
+
129
- init.jspのbody部
137
+ init.jspのbody部
138
+ ```jsp
130
139
  <body>
131
140
  <form:form modelAttribute="salesForm" action="/sales/system">
132
- 商品:<form:select path="name" items="${nameList}" /><br/>
141
+ 商品:<form:select path="name" items="${nameList}" /><br/>
133
- 点数:<form:input path="quantity" value = "1"/>
142
+ 点数:<form:input path="quantity" value = "1"/><br/>
134
- <br/>
135
- <input type="submit" name="add" value="明細追加" />
143
+ <input type="submit" name="add" value="明細追加" />
136
- </form:form>
144
+ </form:form><br/>
137
- <br/>
145
+
138
- <div class="message">
146
+ <div class="message">
139
- <c:out value="${message}" />
147
+ <c:out value="${message}" />
140
- <form:errors path="id" />
148
+ <form:errors path="id" />
141
- </div>
149
+ </div>
142
150
  </body>
151
+ ```
152
+
143
- __________
153
+ add.jspのbody部
154
+ ```JSP
144
155
  <body>
145
-
146
- <form:form modelAttribute="salesForm" action="/sales/system">
156
+ <form:form modelAttribute="salesForm" action="/sales/system">
147
- 商品:<form:select path="name" items="${nameList}" /><br/>
157
+ 商品:<form:select path="name" items="${nameList}" /><br/>
148
- <div>
158
+ <div>
149
- <span>点数:</span><form:input path="quantity" value = "1"/>
159
+ <span>点数:</span><form:input path="quantity" value = "1"/>
160
+ </div><br/>
161
+ <input type="submit" name="add" value="明細追加" /><br/>
162
+ <div class="message"><c:out value="${message}" /><br/>
163
+
164
+ <form:hidden path="name" />
165
+ <table>
166
+ <tr><th>削除</th><th>商品ID</th><th>商品名</th><th>単価</th><th>点数</th><th>小計</th></tr>
167
+   <c:forEach items="${allList}" var="list">
168
+ <tr>
169
+ <td>${list.id}</span></td>
170
+    <td>${list.name}</td>
171
+   <td>${list.price}</td>
172
+   <td>${list.quantity}</td>
173
+   <td>${list.subtotal}</td>
174
+ </tr>
175
+   </c:forEach>
176
+ </table>
177
+
178
+   <div class = "btnFild">
179
+ <input type="submit" name="remove" value="削除" /> //この件は大丈夫です
180
+ <input type="submit" name="firm" value="確定" /> //この件も大丈夫です
150
- </div>
181
+ </div>
151
- <br/>
152
- <input type="submit" name="add" value="明細追加" /><br/>
153
- <div class="message"><c:out value="${message}" /><br/>
154
-
155
- <form:hidden path="name" />
156
- <table>
157
- <tr><th>削除</th><th>商品ID</th><th>商品名</th><th>単価</th><th>点数</th><th>小計</th></tr>
158
- <c:forEach items="${allList}" var="list">
159
- <tr>
160
- <td>${list.id}</span></td>
161
- <td>${list.name}</td>
162
- <td>${list.price}</td>
163
- <td>${list.quantity}</td>
164
- <td>${list.subtotal}</td>
165
- </tr>
166
- </c:forEach>
167
- </table>
168
- <div class = "btnFild">
169
- <input type="submit" name="remove" value="削除" /> //この件は大丈夫です
170
- <input type="submit" name="firm" value="確定" /> //この件も大丈夫です
171
- </div>
172
182
  </form:form>
173
183
  </body>
184
+ ```
174
185
 
175
186
 
187
+
176
188
  ### 試したこと
177
189
  問題1 既述通りですが.「点数」データはformに渡せているのは確認できました。
178
190
      selectProductに.「点数」データを渡して、試行錯誤したのですがうまくいきませんでした。