From 7b9c62b98b7e2bc2c03701ae81a6f8aabc2bf019 Mon Sep 17 00:00:00 2001 From: m-endo <26-s-i-tm-nets@it-college.jp> Date: Mon, 26 Oct 2026 13:00:57 +0900 Subject: [PATCH] =?UTF-8?q?=E5=85=A5=E5=8A=9B=E3=83=81=E3=82=A7=E3=83=83?= =?UTF-8?q?=E3=82=AF=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../demo/controller/LendingController.java | 44 +++++---------- .../demo/controller/LogoutController.java | 54 +++++-------------- .../com/example/demo/form/LendingForm.java | 2 +- .../main/resources/templates/application.html | 10 ++-- .../templates/applicationComplete.html | 15 +++--- .../templates/applicationConfirm.html | 15 +++--- 6 files changed, 51 insertions(+), 89 deletions(-) diff --git a/team1/src/main/java/com/example/demo/controller/LendingController.java b/team1/src/main/java/com/example/demo/controller/LendingController.java index 6d0c519..26a91ef 100644 --- a/team1/src/main/java/com/example/demo/controller/LendingController.java +++ b/team1/src/main/java/com/example/demo/controller/LendingController.java @@ -1,7 +1,5 @@ package com.example.demo.controller; -import java.util.ArrayList; -import java.util.List; import java.util.logging.Logger; import org.springframework.beans.factory.annotation.Autowired; @@ -40,7 +38,7 @@ public class LendingController { public String showLendingForm(Model model) { LendingForm form = new LendingForm(); - //以下ダミーデータを挿入中 + //以下ダミーデータを挿入中、画面遷移変更後削除する form.setIdBook(1); form.setNmBook("これからはじめるJava言語"); model.addAttribute("lendingForm", form); @@ -73,17 +71,15 @@ public class LendingController { //@PostMappingでデータを送信(POST) @PostMapping("/confirmLending") public String confirmLending(@ModelAttribute("lendingForm") LendingForm form, - //インタフェースBindingResultにて入力結果を表す - BindingResult result, + BindingResult result, // Model model) { - //日付チェック - List errorList = validateParameter(form); + validateParameter(form, result); - // エラーが1つでもある場合入力画面に戻す - if (!errorList.isEmpty()) { - model.addAttribute("errors", errorList); - return "application"; // 入力画面に戻す + // result.hasErrors() でエラー判定 + if (result.hasErrors()) { + // エラーが1つでもあったら入力画面に戻す + return "application"; } return "applicationConfirm"; @@ -128,36 +124,24 @@ public class LendingController { return "applicationComplete"; } - //画面でエラーが出た場合の表示 - //エラーが出た場合、リストに文言を追加する - public List validateParameter(LendingForm form) { - final String DATE_BORROW_NULL = "貸出日 が未入力です。"; - final String DATE_RETURN_NULL = "返却予定日 が未入力です。"; - final String DATE_ORDER_ERROR = "返却予定日 には、貸出日以降の日付を選択してください。"; - - List error = new ArrayList<>(); - + // 画面でエラーが出た場合の表示 + // エラーが出た場合、BindingResultに直接エラーを登録する + public void validateParameter(LendingForm form, BindingResult result) { // 1.「貸出日」が未入力(null)かどうかをチェックする if (form.getDateBorrow() == null) { - //errorリストの中にメッセージ"貸出日が未入力です"を入れる - error.add(DATE_BORROW_NULL); + result.rejectValue("dateBorrow", "error.dateBorrow", "貸出日 が未入力です。"); } - // 2.「返却予定日」が未入力(null)かどうかをチェック if (form.getDateScheduledReturn() == null) { - //errorリストの中にメッセージ"返却予定日 が未入力です。"を入れる - error.add(DATE_RETURN_NULL); + result.rejectValue("dateScheduledReturn", "error.dateScheduledReturn", "返却予定日 が未入力です。"); } - // 3「両方ともnullではない(入力されている)」ときのみ日付の前後を比較する if (form.getDateBorrow() != null && form.getDateScheduledReturn() != null) { - // 返却予定日が貸出日より過去の場合のエラー if (form.getDateScheduledReturn().before(form.getDateBorrow())) { - //errorリストの中にメッセージ"返却予定日 には、貸出日以降の日付を選択してください。"を入れる - error.add(DATE_ORDER_ERROR); + // 日付の前後エラーを返却予定日のエラーとして登録 + result.rejectValue("dateScheduledReturn", "error.dateOrder", "返却予定日 には、貸出日以降の日付を選択してください。"); } } - return error; } } diff --git a/team1/src/main/java/com/example/demo/controller/LogoutController.java b/team1/src/main/java/com/example/demo/controller/LogoutController.java index 3143452..a5e0e45 100644 --- a/team1/src/main/java/com/example/demo/controller/LogoutController.java +++ b/team1/src/main/java/com/example/demo/controller/LogoutController.java @@ -1,46 +1,20 @@ package com.example.demo.controller; +import jakarta.servlet.http.HttpSession; + +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; @Controller public class LogoutController { - // // ログ出力用インスタンス - // private final static Logger LOGGER = Logger.getLogger(LogoutController.class.getName()); - // // エラーメッセージ用の定数フィールド - // private final static String SEVERE_ERROR_MESSAGE = "エラーが発生しました!"; - // - // HttpSession httpSession; - // - // @Autowired - // public LogoutController(HttpSession httpSession) { - // this.httpSession = httpSession; - // } - // - // @ModelAttribute - // public LoginUserForm loginUserForm() { - // return new LoginUserForm(); - // } - // - // @PermissionCheck - // @SessionCheck - // @RequestMapping(value = LOGOUT, method = RequestMethod.POST) - // public String doLogout(Model model) { - // try { - // // セッション情報の破棄 - // httpSession.invalidate(); - // - // // ログイン画面に遷移するための情報を設定 - // model.addAttribute(PageReturnAttributeKeyword.LOGIN_INFO_FORM, loginUserForm()); - // // login.html に遷移 - // return TransitionTargetPageNameKeyword.LOGIN_HTML; - // - // } catch (Exception e) { - // - // // エラーログ出力 - // LOGGER.log(Level.SEVERE, SEVERE_ERROR_MESSAGE, e); - // // エラーページに遷移 - // return TransitionTargetPageNameKeyword.ERROR_HTML; - // } - // - // } -} + @Autowired + HttpSession session; + + @PostMapping("/doLogout") + public String doLogout() { + //セッションをすべて破棄 + session.invalidate(); + return "login"; + } +} \ No newline at end of file diff --git a/team1/src/main/java/com/example/demo/form/LendingForm.java b/team1/src/main/java/com/example/demo/form/LendingForm.java index 9a098ab..f61a9da 100644 --- a/team1/src/main/java/com/example/demo/form/LendingForm.java +++ b/team1/src/main/java/com/example/demo/form/LendingForm.java @@ -27,7 +27,7 @@ public class LendingForm { * 貸出日 */ @DateTimeFormat(pattern = "yyyy-MM-dd") - //LocalDate型にて日付(年・月・日)を取り扱う + //Date型で取り扱う private Date dateBorrow; /** diff --git a/team1/src/main/resources/templates/application.html b/team1/src/main/resources/templates/application.html index 24bfc47..0462327 100644 --- a/team1/src/main/resources/templates/application.html +++ b/team1/src/main/resources/templates/application.html @@ -9,17 +9,19 @@ + +

書籍貸出申請

- ログイン者名:テスト太郎(ダミー) + ログイン者名:テスト太郎(ダミー)
diff --git a/team1/src/main/resources/templates/applicationComplete.html b/team1/src/main/resources/templates/applicationComplete.html index 1790351..1092170 100644 --- a/team1/src/main/resources/templates/applicationComplete.html +++ b/team1/src/main/resources/templates/applicationComplete.html @@ -9,6 +9,8 @@ + +

書籍貸出申請

@@ -17,19 +19,18 @@
- + + ログイン者名: + + --> -

書籍貸出申請完了しました

+

書籍貸出申請完了しました

diff --git a/team1/src/main/resources/templates/applicationConfirm.html b/team1/src/main/resources/templates/applicationConfirm.html index 0850795..c6f7fde 100644 --- a/team1/src/main/resources/templates/applicationConfirm.html +++ b/team1/src/main/resources/templates/applicationConfirm.html @@ -8,6 +8,8 @@ + +

書籍貸出申請

@@ -16,14 +18,13 @@
+ + ログイン者名: + + -->
- @@ -41,13 +42,13 @@ 貸出日 - 返却予定日 -