質問編集履歴

3

補足説明追加

2019/05/28 06:24

投稿

usako
usako

スコア31

test CHANGED
File without changes
test CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  一覧表示、更新、参照機能だけのシンプルな画面です。
14
14
 
15
- まずは一覧機能を実装しようとしたところ、以下のメッセージが
15
+ まずは一覧機能を実装しようとしたところ、NULL例外で以下のメッセージが
16
16
 
17
17
  発生しました。エラーの原因個所は特定できました。
18
18
 
@@ -594,6 +594,6 @@
594
594
 
595
595
 
596
596
 
597
- AddressBookController.javaDBの内容表示できました
597
+ AddressBookController.javaの@Controller直下だと、エラーにならずDBの内容表示できま
598
598
 
599
599
  (現在はコメント化しています)

2

タイトル変更

2019/05/28 06:23

投稿

usako
usako

スコア31

test CHANGED
@@ -1 +1 @@
1
- HTTP500でNullPointerException発生していますが、原因がわかりません。
1
+ queryForListがうまくません。
test CHANGED
File without changes

1

添付資料の追加

2019/05/28 06:19

投稿

usako
usako

スコア31

test CHANGED
File without changes
test CHANGED
@@ -36,8 +36,6 @@
36
36
 
37
37
 
38
38
 
39
-
40
-
41
39
  type 例外レポート
42
40
 
43
41
 
@@ -52,90 +50,10 @@
52
50
 
53
51
  The server encountered an internal error that prevented it from fulfilling this request.
54
52
 
55
-
56
-
57
- 例外
58
-
59
- org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.NullPointerException
60
-
61
- org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:982)
62
-
63
- org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)
64
-
65
- javax.servlet.http.HttpServlet.service(HttpServlet.java:643)
66
-
67
- org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
68
-
69
- javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
70
-
71
- org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
72
-
73
- org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
74
-
75
-
76
-
77
-
78
-
79
-
80
-
81
- 原因
82
-
83
- java.lang.NullPointerException
84
-
85
- jp.practice.address.RecordManager.getEmployeeList(RecordManager.java:66)
86
-
87
- jp.practice.address.AddressBookController.list(AddressBookController.java:92)
88
-
89
- sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
90
-
91
- sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
92
-
93
- sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
94
-
95
- java.lang.reflect.Method.invoke(Method.java:498)
96
-
97
- org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
98
-
99
- org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133)
100
-
101
- org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:116)
102
-
103
- org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
104
-
105
- org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
106
-
107
- org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
108
-
109
- org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
110
-
111
- org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
112
-
113
- org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
114
-
115
- org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)
116
-
117
- javax.servlet.http.HttpServlet.service(HttpServlet.java:643)
118
-
119
- org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
120
-
121
- javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
122
-
123
- org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
124
-
125
- org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
126
-
127
-
128
-
129
-
130
-
131
53
  ```
132
54
 
133
-
134
-
135
55
  ### 該当のソースコード
136
56
 
137
-
138
-
139
57
  ```Java
140
58
 
141
59
  package jp.practice.address;
@@ -158,8 +76,6 @@
158
76
 
159
77
 
160
78
 
161
-
162
-
163
79
  @Controller
164
80
 
165
81
  @RequestMapping(value = "/book")
@@ -182,8 +98,6 @@
182
98
 
183
99
  private static final String ERRMSG = "該当するデータはありません";
184
100
 
185
-
186
-
187
101
  /**start ****/
188
102
 
189
103
  // @Autowired
@@ -192,8 +106,6 @@
192
106
 
193
107
  /**e n d*/
194
108
 
195
-
196
-
197
109
  @RequestMapping(value = "/start")
198
110
 
199
111
  public String init(AddressBookForm form, Model model) {
@@ -432,8 +344,6 @@
432
344
 
433
345
  }
434
346
 
435
-
436
-
437
347
  /**
438
348
 
439
349
  * 指定した従業員情報を反映
@@ -468,14 +378,222 @@
468
378
 
469
379
  }
470
380
 
471
-
472
-
473
381
  ```
474
382
 
383
+ ```JSP
384
+
385
+ <%@ page session="false" language="java"
386
+
387
+ contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
388
+
389
+ <%@ page import="java.time.LocalDate"%>
390
+
391
+ <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
392
+
393
+ <%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
394
+
395
+ <!DOCTYPE html>
396
+
397
+ <html>
398
+
399
+ <head>
400
+
401
+ <link rel="stylesheet" type="text/css"
402
+
403
+ href="/address/resources/css/common.css" />
404
+
405
+ <title>住所録(初期画面)</title>
406
+
407
+ </head>
408
+
409
+ <body>
410
+
411
+ <form:form modelAttribute="addressBookForm" action="/address/book">
412
+
413
+ <div class="header">
414
+
415
+ <span class="titleName">住所録</span>
416
+
417
+ <div class="date"><%=LocalDate.now()%></div>
418
+
419
+ </div>
420
+
421
+ <div class="main">
422
+
423
+ <div class="message">
424
+
425
+ <c:out value="${message}" />
426
+
427
+ </div>
428
+
429
+ <div>
430
+
431
+ <span class="itemName">従業員番号:</span>
432
+
433
+ <form:input path="id" size="31" />
434
+
435
+ </div>
436
+
437
+ </div>
438
+
439
+ <div class="footer">
440
+
441
+ <div>
442
+
443
+ <input type="submit" name="reference" value="参照" />
444
+
445
+ </div>
446
+
447
+ <div>
448
+
449
+ <input type="submit" name="update" value="更新" />
450
+
451
+ </div>
452
+
453
+ <div>
454
+
455
+ <input type="submit" name="list" value="一覧" />
456
+
457
+ </div>
458
+
459
+ </div>
460
+
461
+ <!-- start -->
462
+
463
+ <!-- <p> DB's id: ${id} name: ${name} tel: ${tel} address: ${address} . </p> -->
464
+
465
+ <!-- end -->
466
+
467
+ </form:form>
468
+
469
+ </body>
470
+
471
+ </html>
472
+
473
+ ```
474
+
475
+ ```JSP
476
+
477
+ <%@ page session="false" language="java"
478
+
479
+ contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
480
+
481
+ <%@ page import="java.time.LocalDate"%>
482
+
483
+ <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
484
+
485
+ <%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
486
+
487
+ <!DOCTYPE html>
488
+
489
+ <html>
490
+
491
+ <head>
492
+
493
+ <link rel="stylesheet" type="text/css"
494
+
495
+ href="/address/resources/css/common.css" />
496
+
497
+ <title>住所録(一覧画面)</title>
498
+
499
+ </head>
500
+
501
+ <body>
502
+
503
+ <form:form modelAttribute="addressBookForm" action="/address/book">
504
+
505
+ <div class="header">
506
+
507
+ <span class="titleName">住所録</span>
508
+
509
+ <div class="date"><%=LocalDate.now()%></div>
510
+
511
+ </div>
512
+
513
+ <div>
514
+
515
+ 社員数 :
516
+
517
+ <c:out value="${employeeCount}"></c:out>
518
+
519
+
520
+
521
+ </div>
522
+
523
+ <table>
524
+
525
+ <tr>
526
+
527
+ <th>従業員番号</th>
528
+
529
+ <th>名前</th>
530
+
531
+ <th>電話番号</th>
532
+
533
+ <th>住所</th>
534
+
535
+ </tr>
536
+
537
+ <c:forEach items="${employeeList}" var="employee" varStatus="status">
538
+
539
+ <c:choose>
540
+
541
+ <c:when test="${status.count % 2 == 0}">
542
+
543
+ <tr class="even">
544
+
545
+ <td>${employee.id}</td>
546
+
547
+ <td>${employee.name}</td>
548
+
549
+ <td>${employee.phone}</td>
550
+
551
+ <td>${employee.address}</td>
552
+
553
+ </tr>
554
+
555
+ </c:when>
556
+
557
+ <c:otherwise>
558
+
559
+ <tr>
560
+
561
+ <td>${employee.id}</td>
562
+
563
+ <td>${employee.name}</td>
564
+
565
+ <td>${employee.phone}</td>
566
+
567
+ <td>${employee.address}</td>
568
+
569
+ </tr>
570
+
571
+ </c:otherwise>
572
+
573
+ </c:choose>
574
+
575
+ </c:forEach>
576
+
577
+ </table>
578
+
579
+ <div class="listFooter">
580
+
581
+ <input type="submit" name="toInit" value="戻る" />
582
+
583
+ </div>
584
+
585
+ </form:form>
586
+
587
+ </body>
588
+
589
+ </html>
590
+
591
+ ```
592
+
475
593
  ### 試したこと
476
594
 
477
595
 
478
596
 
479
- AddressBookControllerでDBの内容の表示はできました。
597
+ AddressBookController.javaでDBの内容の表示はできました。
480
598
 
481
599
  (現在はコメント化しています)