質問編集履歴

2

全体的にわかりにくかったため、詳細を記述した

2021/05/22 23:39

投稿

hito2718
hito2718

スコア0

test CHANGED
@@ -1 +1 @@
1
- Spring Tool Suite 4で作成しているプログラムの画面遷移について
1
+ Spring Tool Suite 4で作成しているプログラムのコントロール制御について
test CHANGED
@@ -1,12 +1,6 @@
1
1
  #なぜ今回質問したのか
2
2
 
3
-
4
-
5
- Spring Tool Suite 4で画面の遷移をしたい。
6
-
7
- 自分知りうる以外、何か問題あるかもしれいと思っ
3
+ プログラムのコントロール制御ができなく原因不明なため
8
-
9
-
10
4
 
11
5
 
12
6
 
@@ -18,71 +12,409 @@
18
12
 
19
13
  以下のように画面遷移するプログラムを作成しています。
20
14
 
21
- 最初の画面Aから遷移して、画面Bに行き最初の画面Aに戻る単純なプログラムです。
22
-
23
-
24
-
25
-
26
-
27
-
28
-
29
-
30
-
31
- ##A画面→B画面→A画面
32
-
33
-
34
-
35
-
36
-
37
-
38
-
39
- B画面からA画面へ戻る場合に、コントローラに記述するメソッドは、
40
-
41
- 以下のようなプロぐグラムになると思います
42
-
43
-
44
-
45
-
46
-
47
- ```
48
-
49
- @RequestMapping(path = "A", method = RequestMethod.POST)
50
-
51
- @ResponseBody
52
-
53
- public ModelAndView methodA(ModelAndView mav) {
54
-
55
- mav.setViewName("A");
15
+
16
+
17
+ ##index.html→home.html→edit.html→home.html
18
+
19
+
20
+
21
+ #最終的にしたいこと
22
+
23
+
24
+
25
+ 上記の画面遷移し最終的にHomeServletの中のhomeメソッドの中の処理に入ることです。
26
+
27
+ ブレークポイントは以下で設定しています。
28
+
29
+  index.htmlから遷移すると以下のブレークポイントに止まりますが、
30
+
31
+ edit.htmlから遷移するとhome.htmlに遷移するだけで以下のブレークポイントに止まりません。
32
+
33
+
34
+
35
+
36
+
37
+ ・HomeServlet.javaの中のブレークポイント設定行
38
+
39
+ mav.setViewName("home");
40
+
41
+
42
+
43
+
44
+
45
+ ##試したこと
46
+
47
+
48
+
49
+ 下記の簡単なソースコードを作成し、動かしていますが予想と違った動きをします。
50
+
51
+ すべてのソースコードを下記に記述します。
52
+
53
+
54
+
55
+
56
+
57
+ #ソースコード
58
+
59
+
60
+
61
+
62
+
63
+
64
+
65
+ ```
66
+
67
+ index.html
68
+
69
+
70
+
71
+ <!DOCTYPE html>
72
+
73
+ <html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
74
+
75
+ <head>
76
+
77
+ <meta charset="UTF-8">
78
+
79
+ <title>
80
+
81
+ index
82
+
83
+ </title>
84
+
85
+ </head>
86
+
87
+ <br>
88
+
89
+ <body>
90
+
91
+ INDEXページです
92
+
93
+
94
+
95
+ <form th:action="@{/home}" method="POST">
96
+
97
+ <p align="center">
98
+
99
+ <td align="center">
100
+
101
+ <input type="submit" value="HOME">
102
+
103
+ </td>
104
+
105
+ </p>
106
+
107
+ </form>
108
+
109
+ </body>
110
+
111
+ </html>
112
+
113
+ ```
114
+
115
+
116
+
117
+
118
+
119
+ ```
120
+
121
+ home.html
122
+
123
+
124
+
125
+ <!DOCTYPE html>
126
+
127
+ <html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
128
+
129
+ <head>
130
+
131
+ <meta charset="UTF-8">
132
+
133
+ <title>
134
+
135
+ home
136
+
137
+ </title>
138
+
139
+ </head>
140
+
141
+ <br>
142
+
143
+ <body>
144
+
145
+ HOMEページです
146
+
147
+ <form th:action="@{/edit}" method="POST">
148
+
149
+ <p align="center">
150
+
151
+ <td align="center">
152
+
153
+ <input type="submit" name="paramedit" value="EDIT">
154
+
155
+ </td>
156
+
157
+ </p>
158
+
159
+ </form>
160
+
161
+ </body>
162
+
163
+ </html>
164
+
165
+ ```
166
+
167
+
168
+
169
+ ```
170
+
171
+ edit.html
172
+
173
+
174
+
175
+ <!DOCTYPE html>
176
+
177
+ <html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
178
+
179
+ <head>
180
+
181
+ <meta charset="UTF-8">
182
+
183
+ <title>
184
+
185
+ edit
186
+
187
+ </title>
188
+
189
+ </head>
190
+
191
+ <br>
192
+
193
+ <body>
194
+
195
+ EDITページです
196
+
197
+ <form th:action="@{/home}" method="POST">
198
+
199
+ <p align="center">
200
+
201
+ <td align="center">
202
+
203
+ <input type="submit" name="paramhome" value="HOME">
204
+
205
+ </td>
206
+
207
+ </p>
208
+
209
+ </form>
210
+
211
+ </body>
212
+
213
+ </html>
214
+
215
+ ```
216
+
217
+
218
+
219
+ ```
220
+
221
+ IndexServlet.java
222
+
223
+
224
+
225
+
226
+
227
+ package com.example.demo;
228
+
229
+
230
+
231
+
232
+
233
+ import org.springframework.stereotype.Controller;
234
+
235
+ import org.springframework.web.bind.annotation.GetMapping;
236
+
237
+
238
+
239
+
240
+
241
+
242
+
243
+ @Controller
244
+
245
+ public class IndexServlet {
246
+
247
+
248
+
249
+
250
+
251
+ @GetMapping("index")
252
+
253
+ public String index() {
254
+
255
+ return "index";
256
+
257
+ }
258
+
259
+
260
+
261
+
262
+
263
+ }
264
+
265
+
266
+
267
+
268
+
269
+ ```
270
+
271
+
272
+
273
+
274
+
275
+
276
+
277
+ ```
278
+
279
+ HomeServletjava
280
+
281
+
282
+
283
+ package com.example.demo;
284
+
285
+
286
+
287
+ import org.springframework.stereotype.Controller;
288
+
289
+ import org.springframework.web.bind.annotation.RequestMapping;
290
+
291
+ import org.springframework.web.bind.annotation.RequestMethod;
292
+
293
+ import org.springframework.web.bind.annotation.ResponseBody;
294
+
295
+ import org.springframework.web.servlet.ModelAndView;
296
+
297
+
298
+
299
+
300
+
301
+ @Controller
302
+
303
+ public class HomeServlet {
304
+
305
+
306
+
307
+
308
+
309
+ @RequestMapping(path = "home", method = RequestMethod.POST)
310
+
311
+ @ResponseBody
312
+
313
+ public ModelAndView home(ModelAndView mav) {
314
+
315
+ //★ブレークポイント
316
+
317
+ mav.setViewName("home");
56
318
 
57
319
  return mav;
58
320
 
59
321
  }
60
322
 
323
+
324
+
325
+
326
+
327
+ }
328
+
329
+
330
+
331
+
332
+
61
- ```
333
+ ```
334
+
335
+
336
+
62
-
337
+ ```
338
+
63
-
339
+ EditServlet.java
340
+
341
+
342
+
64
-
343
+ package com.example.demo;
344
+
345
+
346
+
347
+ import org.springframework.stereotype.Controller;
348
+
349
+ import org.springframework.web.bind.annotation.RequestMapping;
350
+
351
+ import org.springframework.web.bind.annotation.RequestMethod;
352
+
353
+ import org.springframework.web.bind.annotation.ResponseBody;
354
+
355
+ import org.springframework.web.servlet.ModelAndView;
356
+
357
+
358
+
359
+ @Controller
360
+
361
+ public class EditServlet {
362
+
363
+
364
+
365
+
366
+
367
+ @RequestMapping(path = "edit", params = "paramedit", method = RequestMethod.POST)
368
+
369
+ @ResponseBody
370
+
65
- エラーメッセージは発生していなく画面も遷移するのですが、デバッグするとメソッドの先頭の1行目
371
+ public ModelAndView edit(ModelAndView mav) {
66
-
372
+
67
- に来ないで、画面だけ遷移して切り替わります。
373
+ mav.setViewName("edit");
68
-
69
-
70
-
374
+
71
- ##試したこと
375
+ return mav;
376
+
72
-
377
+ }
73
-
74
-
378
+
379
+
380
+
381
+
382
+
75
- 業務ロジックを追加せず、一番単純なコード(上記のみ)を作成してみたら正常な動きはするのですが、自分が作成中のプログラムでは業務ロジック追加してるだけで上記と記述は同じはずですが、画面が切り替わるだけでメソッドの1行目に遷移しません。
383
+ @RequestMapping(path = "home", params = "paramhome", method = RequestMethod.POST)
384
+
76
-
385
+ @ResponseBody
77
-
78
-
79
-
80
-
81
-
82
-
83
-
84
-
386
+
85
- 抽象的な質問で申し訳ありませんが、原因が不明なのでご教授いただけると助かります。
387
+ public ModelAndView home(ModelAndView mav) {
388
+
389
+ mav.setViewName("home");
390
+
391
+ return mav;
392
+
393
+ }
394
+
395
+
396
+
397
+
398
+
399
+ }
400
+
401
+
402
+
403
+
404
+
405
+
406
+
407
+ ```
408
+
409
+
410
+
411
+
412
+
413
+
414
+
415
+
416
+
417
+
86
418
 
87
419
 
88
420
 

1

タイトルを修正

2021/05/22 23:39

投稿

hito2718
hito2718

スコア0

test CHANGED
@@ -1 +1 @@
1
- STSの画面遷移について
1
+ Spring Tool Suite 4で作成しているプログラムの画面遷移について
test CHANGED
File without changes