質問編集履歴

6

詳細追記

2020/02/13 03:32

投稿

chocolate_pie
chocolate_pie

スコア26

test CHANGED
File without changes
test CHANGED
@@ -1,13 +1,19 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- SpringBootで本来は1回処理するメソッドが2回処理されてしまいます。
3
+ SpringBootでurlをベタ打ちして処理を実行すると本来は1回処理するメソッドが2回処理されてしまいます。
4
+
4
-
5
+ HTMLからformを通じでメソッドを処理すると1回の実行で済みます。
6
+
7
+
8
+
5
- 1回の処理にしたいです。
9
+ urlをベタ打ちした場合でも1回の処理にしたいです。
6
-
7
- テスト回数の1/3ぐらいが1回の処理で成功します。
10
+
11
+
8
12
 
9
13
  エラーメッセージを解決すれば正常に処理がされると思うのですが、解決方法が分かりません。
10
14
 
15
+ 設定ファイル等々がおかしいような気がするので、application.propatiesとpom.xmlも載せましたがほかに設定ファイルがありましたらご教授いただきたいです。
16
+
11
17
 
12
18
 
13
19
  ### 発生している問題・エラーメッセージ
@@ -16,7 +22,7 @@
16
22
 
17
23
  ```
18
24
 
19
- エラーメッセージ
25
+ エラーメッセージ(form遷移、ベタ打ち双方)
20
26
 
21
27
  2020-02-13 10:32:30.267 WARN 1384 --- [nio-8080-exec-3] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.method.annotation.MethodArgumentTypeMismatchException: Failed to convert value of type 'java.lang.String' to required type 'java.lang.Integer'; nested exception is java.lang.NumberFormatException: For input string: "favicon.ico"]
22
28
 
@@ -266,9 +272,7 @@
266
272
 
267
273
  ```
268
274
 
269
- コンソールは以下のような感じでsysoutが2回実行されエラーが出てしまいます。
275
+ URLベタ打ちコンソールはの場合コンソールは以下のような感じでsysoutが2回実行されエラーが出てしまいます。
270
-
271
- URLベタ打ちでメソッド実行してます。
272
276
 
273
277
  ```
274
278
 
@@ -548,7 +552,7 @@
548
552
 
549
553
  ### 補足情報(FW/ツールのバージョンなど)
550
554
 
551
- Spring Boot ::(v2.2.2.RELEASE)
555
+ バージョン Spring Boot ::(v2.2.2.RELEASE)
552
556
 
553
557
 
554
558
 

5

htmlとjava情報を追記しました

2020/02/13 03:32

投稿

chocolate_pie
chocolate_pie

スコア26

test CHANGED
File without changes
test CHANGED
@@ -28,8 +28,176 @@
28
28
 
29
29
 
30
30
 
31
+ 表示用GETメソッド
32
+
31
33
  ```Java
32
34
 
35
+ @RequestMapping(value = "/memberlist/{id}")
36
+
37
+ public String memberList(@PathVariable Integer id, Model model, Principal principal) {
38
+
39
+
40
+
41
+ Authentication auth = (Authentication) principal;
42
+
43
+ UserMaster loginuser = (UserMaster) auth.getPrincipal();
44
+
45
+ Integer loginid = loginuser.getId();
46
+
47
+ model.addAttribute("loginid",loginid);
48
+
49
+
50
+
51
+ if (id != loginid) {
52
+
53
+ return "redirect:/home";
54
+
55
+ }
56
+
57
+
58
+
59
+ List<ReviewCks> userlists = reviewcksService.findByOkEmpId(id);
60
+
61
+ model.addAttribute("userlists", userlists);
62
+
63
+
64
+
65
+ List<Meisai> userStatuses = meisaiservice.findStatus(id);
66
+
67
+ model.addAttribute("userstatuses", userStatuses);
68
+
69
+
70
+
71
+ return "users/memberlist";
72
+
73
+ }
74
+
75
+ ```
76
+
77
+ memberlist.html
78
+
79
+ ```HTML
80
+
81
+ <!DOCTYPE html>
82
+
83
+ <html xmlns:th="http://www.thymeleaf.org"
84
+
85
+ xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity">
86
+
87
+ <head th:replace="layout :: layout('HOME',~{::link})">
88
+
89
+ <meta charset="UTF-8">
90
+
91
+ <title>Insert title here</title>
92
+
93
+ </head>
94
+
95
+ <body>
96
+
97
+ <div th:replace="layout :: header"></div>
98
+
99
+ <div class="container contmarge">
100
+
101
+ <div class="row">
102
+
103
+ <div class="col-md-10 col-md-offset-1">
104
+
105
+ <div class="panel panel-default">
106
+
107
+ <div class="panel-heading">
108
+
109
+ <h3>メンバー一覧</h3>
110
+
111
+ </div>
112
+
113
+ <div class="panel-body">メンバーの目標確認状況を確認します</div>
114
+
115
+ <form method="get" th:action="@{/memberlist/{id}/unsubmit(id=${loginid})}">
116
+
117
+
118
+
119
+ <input type="submit" class="btn btn-success " value="未提出者LINE通知実行" />
120
+
121
+ </form>
122
+
123
+ <table class="table">
124
+
125
+ <thead>
126
+
127
+ <tr>
128
+
129
+ <th>名前</th>
130
+
131
+ <th>期初レビューチェック</th>
132
+
133
+ <th>期中レビューチェック</th>
134
+
135
+ <th>期末レビューチェック</th>
136
+
137
+ <th></th>
138
+
139
+ </tr>
140
+
141
+ </thead>
142
+
143
+ <tbody>
144
+
145
+ <tr th:each="userlist: ${userlists}" th:object="${userlist}">
146
+
147
+ <td th:text="*{rvwuserid.fullname}"></td>
148
+
149
+ <td th:text="*{firstcomp==true}? '済' : '未'"></td>
150
+
151
+ <td th:text="*{midcomp==true}? '済' : '未'"></td>
152
+
153
+ <td th:text="*{endcomp==true}? '済' : '未'"></td>
154
+
155
+ <td><form method="post"
156
+
157
+ th:action="@{/memberdetail/{id}(id=*{rvwuserid.id})}">
158
+
159
+ <input type="submit" class="btn btn-primary center-block"
160
+
161
+ value="詳細" />
162
+
163
+ </form></td>
164
+
165
+ </tr>
166
+
167
+ </tbody>
168
+
169
+ </table>
170
+
171
+
172
+
173
+ <div class="panel-footer">
174
+
175
+ <button class="btn btn-default"
176
+
177
+ onclick="location.href='/home'">戻る</button>
178
+
179
+ </div>
180
+
181
+ </div>
182
+
183
+ </div>
184
+
185
+ </div>
186
+
187
+ </div>
188
+
189
+ <div th:replace="layout :: footer"></div>
190
+
191
+ </body>
192
+
193
+ </html>
194
+
195
+ ```
196
+
197
+ 処理用GETメソッド
198
+
199
+ ```Java
200
+
33
201
  @RequestMapping(value = "/memberlist/{id}/unsubmit", method = RequestMethod.GET)
34
202
 
35
203
  public String noticeUnsubmitted(@PathVariable Integer id) {

4

設定ファイルを追加しました

2020/02/13 03:22

投稿

chocolate_pie
chocolate_pie

スコア26

test CHANGED
File without changes
test CHANGED
@@ -112,6 +112,258 @@
112
112
 
113
113
  ```
114
114
 
115
+ pom.xml
116
+
117
+ ```XML
118
+
119
+ <?xml version="1.0" encoding="UTF-8"?>
120
+
121
+ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
122
+
123
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
124
+
125
+ <modelVersion>4.0.0</modelVersion>
126
+
127
+ <parent>
128
+
129
+ <groupId>org.springframework.boot</groupId>
130
+
131
+ <artifactId>spring-boot-starter-parent</artifactId>
132
+
133
+ <version>2.2.2.RELEASE</version>
134
+
135
+ <relativePath/> <!-- lookup parent from repository -->
136
+
137
+ </parent>
138
+
139
+ <groupId>jp.co.itc.mbo</groupId>
140
+
141
+ <artifactId>mboapp</artifactId>
142
+
143
+ <version>0.0.1-SNAPSHOT</version>
144
+
145
+ <name>mboapp</name>
146
+
147
+ <description>Demo project for Spring Boot</description>
148
+
149
+
150
+
151
+ <properties>
152
+
153
+ <java.version>1.8</java.version>
154
+
155
+ <thymeleaf.version>3.0.11.RELEASE</thymeleaf.version>
156
+
157
+ <thymeleaf-layout-dialect.version>2.2.2</thymeleaf-layout-dialect.version>
158
+
159
+ </properties>
160
+
161
+
162
+
163
+ <dependencies>
164
+
165
+ <dependency>
166
+
167
+ <groupId>org.springframework.boot</groupId>
168
+
169
+ <artifactId>spring-boot-starter-data-jpa</artifactId>
170
+
171
+ </dependency>
172
+
173
+ <dependency>
174
+
175
+ <groupId>org.springframework.boot</groupId>
176
+
177
+ <artifactId>spring-boot-starter-jdbc</artifactId>
178
+
179
+ </dependency>
180
+
181
+ <dependency>
182
+
183
+ <groupId>org.springframework.boot</groupId>
184
+
185
+ <artifactId>spring-boot-starter-security</artifactId>
186
+
187
+ </dependency>
188
+
189
+ <dependency>
190
+
191
+ <groupId>org.thymeleaf.extras</groupId>
192
+
193
+ <artifactId>thymeleaf-extras-springsecurity5</artifactId>
194
+
195
+ </dependency>
196
+
197
+ <dependency>
198
+
199
+ <groupId>org.springframework.boot</groupId>
200
+
201
+ <artifactId>spring-boot-starter-thymeleaf</artifactId>
202
+
203
+ </dependency>
204
+
205
+ <dependency>
206
+
207
+ <groupId>org.springframework.boot</groupId>
208
+
209
+ <artifactId>spring-boot-starter-web</artifactId>
210
+
211
+ </dependency>
212
+
213
+
214
+
215
+ <dependency>
216
+
217
+ <groupId>org.springframework.boot</groupId>
218
+
219
+ <artifactId>spring-boot-devtools</artifactId>
220
+
221
+ <scope>runtime</scope>
222
+
223
+ <optional>true</optional>
224
+
225
+ </dependency>
226
+
227
+ <dependency>
228
+
229
+ <groupId>mysql</groupId>
230
+
231
+ <artifactId>mysql-connector-java</artifactId>
232
+
233
+ <scope>runtime</scope>
234
+
235
+ </dependency>
236
+
237
+ <dependency>
238
+
239
+ <groupId>org.springframework.boot</groupId>
240
+
241
+ <artifactId>spring-boot-starter-test</artifactId>
242
+
243
+ <scope>test</scope>
244
+
245
+ <exclusions>
246
+
247
+ <exclusion>
248
+
249
+ <groupId>org.junit.vintage</groupId>
250
+
251
+ <artifactId>junit-vintage-engine</artifactId>
252
+
253
+ </exclusion>
254
+
255
+ </exclusions>
256
+
257
+ </dependency>
258
+
259
+ <dependency>
260
+
261
+ <groupId>org.springframework.security</groupId>
262
+
263
+ <artifactId>spring-security-test</artifactId>
264
+
265
+ <scope>test</scope>
266
+
267
+ </dependency>
268
+
269
+ <dependency>
270
+
271
+ <groupId>org.webjars</groupId>
272
+
273
+ <artifactId>bootstrap</artifactId>
274
+
275
+ <version>3.3.5</version>
276
+
277
+ </dependency>
278
+
279
+ <dependency>
280
+
281
+ <groupId>org.springframework.boot</groupId>
282
+
283
+ <artifactId>spring-boot-starter-mail</artifactId>
284
+
285
+ </dependency>
286
+
287
+ <dependency>
288
+
289
+ <groupId>org.webjars</groupId>
290
+
291
+ <artifactId>jquery</artifactId>
292
+
293
+ <version>3.4.1</version>
294
+
295
+ </dependency>
296
+
297
+ <dependency>
298
+
299
+ <groupId>org.hibernate</groupId>
300
+
301
+ <artifactId>hibernate-jpamodelgen</artifactId>
302
+
303
+ </dependency>
304
+
305
+
306
+
307
+ </dependencies>
308
+
309
+
310
+
311
+ <build>
312
+
313
+ <plugins>
314
+
315
+ <plugin>
316
+
317
+ <groupId>org.springframework.boot</groupId>
318
+
319
+ <artifactId>spring-boot-maven-plugin</artifactId>
320
+
321
+ </plugin>
322
+
323
+ </plugins>
324
+
325
+ </build>
326
+
327
+
328
+
329
+ </project>
330
+
331
+
332
+
333
+ ```
334
+
335
+ application.propaties
336
+
337
+ ```
338
+
339
+ spring.thymeleaf.cache=false
340
+
341
+ spring.datasource.url=jdbc:mysql://localhost:3306/mboapp?serverTimezone=JST
342
+
343
+ spring.datasource.username=****
344
+
345
+ spring.datasource.password=****
346
+
347
+ spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
348
+
349
+ spring.jpa.database=MYSQL
350
+
351
+
352
+
353
+ spring.mail.host=smtp.gmail.com
354
+
355
+ spring.mail.port=587
356
+
357
+ spring.mail.username=****
358
+
359
+ spring.mail.password=****
360
+
361
+ spring.mail.properties.mail.smtp.auth=true
362
+
363
+ spring.mail.properties.mail.smtp.starttls.enable=true
364
+
365
+ ```
366
+
115
367
 
116
368
 
117
369
  ### 試したこと
@@ -128,6 +380,10 @@
128
380
 
129
381
  ### 補足情報(FW/ツールのバージョンなど)
130
382
 
383
+ Spring Boot ::(v2.2.2.RELEASE)
384
+
385
+
386
+
131
387
 
132
388
 
133
389
  初心者で至らない点があると思いますがよろしくお願いします。

3

検証追加

2020/02/13 02:53

投稿

chocolate_pie
chocolate_pie

スコア26

test CHANGED
File without changes
test CHANGED
@@ -120,6 +120,10 @@
120
120
 
121
121
  ・googleでエラーメッセージを検索しましたが分かりませんでした
122
122
 
123
+ 【追記】
124
+
125
+ HTMLにformからgetで飛ぶボタンを実装したら処理は1回になりましたがエラーは直りませんでした
126
+
123
127
 
124
128
 
125
129
  ### 補足情報(FW/ツールのバージョンなど)

2

追記

2020/02/13 02:28

投稿

chocolate_pie
chocolate_pie

スコア26

test CHANGED
File without changes
test CHANGED
@@ -100,6 +100,8 @@
100
100
 
101
101
  コンソールは以下のような感じでsysoutが2回実行されエラーが出てしまいます。
102
102
 
103
+ URLベタ打ちでメソッド実行してます。
104
+
103
105
  ```
104
106
 
105
107
  [テスト2(一般ユーザー)]

1

詳細追加

2020/02/13 02:16

投稿

chocolate_pie
chocolate_pie

スコア26

test CHANGED
File without changes
test CHANGED
@@ -98,6 +98,18 @@
98
98
 
99
99
  ```
100
100
 
101
+ コンソールは以下のような感じでsysoutが2回実行されエラーが出てしまいます。
102
+
103
+ ```
104
+
105
+ [テスト2(一般ユーザー)]
106
+
107
+ [テスト2(一般ユーザー)]
108
+
109
+ 2020-02-13 10:42:58.559 WARN 1384 --- [nio-8080-exec-6] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.method.annotation.MethodArgumentTypeMismatchException: Failed to convert value of type 'java.lang.String' to required type 'java.lang.Integer'; nested exception is java.lang.NumberFormatException: For input string: "favicon.ico"]
110
+
111
+ ```
112
+
101
113
 
102
114
 
103
115
  ### 試したこと