質問編集履歴

3

修正

2019/09/04 02:48

投稿

pokerStars
pokerStars

スコア67

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
  Todoリストで検索機能を作っているのですが、タイトルにもある通り検索結果が0の場合の処理をしたいのですがうまくいきません。
2
2
 
3
- ```
3
+ ```java
4
4
 
5
5
  <!DOCTYPE html>
6
6
 
@@ -150,7 +150,7 @@
150
150
 
151
151
  ```
152
152
 
153
- ```
153
+ ```java
154
154
 
155
155
  @RequestMapping(value ="/search", method = RequestMethod.POST)
156
156
 
@@ -168,7 +168,7 @@
168
168
 
169
169
 
170
170
 
171
- ```
171
+ ```java
172
172
 
173
173
  @Repository
174
174
 
@@ -238,7 +238,7 @@
238
238
 
239
239
 
240
240
 
241
- ```
241
+ ```java
242
242
 
243
243
  @Entity
244
244
 

2

修正

2019/09/04 02:48

投稿

pokerStars
pokerStars

スコア67

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
  Todoリストで検索機能を作っているのですが、タイトルにもある通り検索結果が0の場合の処理をしたいのですがうまくいきません。
2
2
 
3
- ```HTML
3
+ ```
4
4
 
5
5
  <!DOCTYPE html>
6
6
 
@@ -150,7 +150,7 @@
150
150
 
151
151
  ```
152
152
 
153
- ```controller
153
+ ```
154
154
 
155
155
  @RequestMapping(value ="/search", method = RequestMethod.POST)
156
156
 
@@ -168,7 +168,7 @@
168
168
 
169
169
 
170
170
 
171
- ```Repository
171
+ ```
172
172
 
173
173
  @Repository
174
174
 
@@ -182,7 +182,7 @@
182
182
 
183
183
 
184
184
 
185
- ```Service
185
+ ```java
186
186
 
187
187
  @Service
188
188
 
@@ -238,7 +238,7 @@
238
238
 
239
239
 
240
240
 
241
- ```Entity
241
+ ```
242
242
 
243
243
  @Entity
244
244
 

1

修正

2019/09/04 02:47

投稿

pokerStars
pokerStars

スコア67

test CHANGED
File without changes
test CHANGED
@@ -2,6 +2,46 @@
2
2
 
3
3
  ```HTML
4
4
 
5
+ <!DOCTYPE html>
6
+
7
+ <html xmlns:th="http://www.thymeleaf.org">
8
+
9
+ <head>
10
+
11
+ <meta charset="UTF-8">
12
+
13
+ <title>Title</title>
14
+
15
+ <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
16
+
17
+ <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
18
+
19
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
20
+
21
+ <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
22
+
23
+
24
+
25
+ </head>
26
+
27
+ <body>
28
+
29
+ <div th:replace="/common.html::header"></div>
30
+
31
+ <hr/>
32
+
33
+ </br>
34
+
35
+ </br>
36
+
37
+ </br>
38
+
39
+
40
+
41
+
42
+
43
+ <div class="container">
44
+
5
45
  <form method="POST" th:action="@{/search}" >
6
46
 
7
47
 
@@ -40,17 +80,13 @@
40
80
 
41
81
 
42
82
 
43
-
44
-
45
- やってみたこと
46
-
47
83
  <!---
48
84
 
49
85
  <div th:if="#lists.size(todos)">
50
86
 
51
87
  <P>対象のToDoは見つかりません</P>
52
88
 
53
- </div>
89
+ </div>
54
90
 
55
91
 
56
92
 
@@ -62,7 +98,289 @@
62
98
 
63
99
 
64
100
 
101
+ --->
102
+
103
+
104
+
105
+
106
+
107
+ <div th:if="${todo.done == false}">
108
+
109
+ <td th:text="*{title}"></td>
110
+
111
+ <td th:text="*{day}"></td>
112
+
113
+ <td th:text="${#dates.format(todo.createDay, '(yyyy-MM-dd )')}">(1970-01-01 )</td>
114
+
115
+ </div>
116
+
117
+
118
+
119
+ <td><a class="btn btn-outline-dark" th:href="@{/{id}/edit(id=*{id})}">編集</a></td>
120
+
121
+
122
+
123
+
124
+
125
+ <td>
126
+
127
+ <form th:unless="${todo.done}" method="post" th:action="@{/done}" th:object="${todo}">
128
+
129
+ <input type="hidden" name="id" th:value="*{id}" />
130
+
131
+ <input class="btn btn-outline-danger" type="submit" value="未完了" />
132
+
133
+ </form>
134
+
135
+ </td>
136
+
137
+ </tr>
138
+
139
+ </tbody>
140
+
141
+ </table>
142
+
143
+
144
+
145
+ </div>
146
+
147
+ </body>
148
+
149
+ </html>
150
+
151
+ ```
152
+
153
+ ```controller
154
+
155
+ @RequestMapping(value ="/search", method = RequestMethod.POST)
156
+
157
+ public String search(@RequestParam("title") String title, Model model) {
158
+
159
+ List<Todo> todos = service.searchTodo(title);
160
+
161
+ model.addAttribute("todos", todos);
162
+
163
+ return "search";
164
+
165
+ }
166
+
167
+ ```
168
+
169
+
170
+
171
+ ```Repository
172
+
173
+ @Repository
174
+
175
+ public interface TodoRepository extends JpaRepository<Todo, Long> {
176
+
177
+ List<Todo> findByTitleContainingOrderByIdAsc(String title);
178
+
179
+ }
180
+
181
+ ```
182
+
183
+
184
+
185
+ ```Service
186
+
187
+ @Service
188
+
189
+ @Transactional
190
+
191
+ public class TodoService {
192
+
193
+
194
+
195
+ @Autowired
196
+
197
+ private TodoRepository repository;
198
+
199
+
200
+
201
+ public List<Todo> findAll() {
202
+
203
+ return repository.findAll(new Sort(Sort.Direction.DESC, "id"));
204
+
205
+ }
206
+
207
+
208
+
209
+ public Todo getOne(Long id) {
210
+
211
+ return repository.getOne(id);
212
+
213
+ }
214
+
215
+
216
+
217
+ public Todo save(Todo todo) {
218
+
219
+ return repository.save(todo);
220
+
221
+ }
222
+
223
+
224
+
225
+ public List<Todo> searchTodo(String title){
226
+
227
+ return repository.findByTitleContainingOrderByIdAsc(title);
228
+
229
+ }
230
+
231
+
232
+
233
+ }
234
+
235
+
236
+
237
+ ```
238
+
239
+
240
+
241
+ ```Entity
242
+
243
+ @Entity
244
+
245
+ @Table(name = "todoitems")
246
+
247
+ public class Todo {
248
+
249
+ @Id
250
+
251
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
252
+
253
+
254
+
255
+ private long id;
256
+
257
+
258
+
259
+ @NotNull
260
+
261
+ @Size(min = 1, max = 30)
262
+
263
+ private String title;
264
+
265
+
266
+
267
+ @NotNull
268
+
269
+ @Size(min = 1, max = 30)
270
+
271
+ private String day;
272
+
273
+
274
+
275
+
276
+
277
+ private Boolean done ;
278
+
279
+
280
+
281
+ @Temporal(TemporalType.DATE)
282
+
283
+ @Column(updatable = false)
284
+
285
+ private Date createDay;
286
+
287
+
288
+
289
+ @PrePersist
290
+
291
+ public void prePersist() {
292
+
293
+ this.createDay = new Date();
294
+
295
+ }
296
+
297
+
298
+
299
+ public Date getCreateDay() {
300
+
301
+ return createDay;
302
+
303
+ }
304
+
305
+
306
+
307
+
308
+
309
+ public Long getId() {
310
+
311
+ return id;
312
+
313
+ }
314
+
315
+
316
+
317
+ public void setId(Long id) {
318
+
319
+ this.id = id;
320
+
321
+ }
322
+
323
+
324
+
325
+ public String getTitle() {
326
+
327
+ return title;
328
+
329
+ }
330
+
331
+
332
+
65
- ---> コメント部分の処理などもやってみましたが表示されませんでした。
333
+ public void setTitle(String title) {
334
+
335
+ this.title = title;
336
+
337
+ }
338
+
339
+
340
+
341
+ public String getDay() {
342
+
343
+ return day;
344
+
345
+ }
346
+
347
+
348
+
349
+ public void setDay(String day) {
350
+
351
+ this.day = day;
352
+
353
+ }
354
+
355
+
356
+
357
+
358
+
359
+ public Boolean getDone() {
360
+
361
+ return done;
362
+
363
+ }
364
+
365
+
366
+
367
+ public void setDone(Boolean done) {
368
+
369
+ this.done = done;
370
+
371
+ }
372
+
373
+
374
+
375
+
376
+
377
+
378
+
379
+
380
+
381
+
382
+
383
+ }
66
384
 
67
385
 
68
386