diff --git a/team1/src/main/java/com/example/demo/controller/SelectBookController.java b/team1/src/main/java/com/example/demo/controller/SelectBookController.java new file mode 100644 index 0000000..4fa733c --- /dev/null +++ b/team1/src/main/java/com/example/demo/controller/SelectBookController.java @@ -0,0 +1,77 @@ +package com.example.demo.controller; + + +import java.util.List; +import java.util.logging.Level; +import java.util.logging.Logger; + +import jakarta.servlet.http.HttpSession; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; + +import com.example.demo.entity.Book_collectionEntity; +import com.example.demo.form.SearchConditionBookForm; +import com.example.demo.service.SearchBook; + + + +@Controller +public class SelectBookController { + + // ログ出力用インスタンス + private final static Logger LOGGER = Logger.getLogger(SelectBookController.class.getName()); + // エラーメッセージ用の定数フィールド + private final static String SEVERE_ERROR_MESSAGE = "エラーが発生しました!"; + + HttpSession httpsession; + SearchBook searchBook; + + @Autowired + public SelectBookController(HttpSession httpSession, SearchBook searchBook) { + this.httpsession = httpSession; + this.searchBook = searchBook; + } + + //空の検索条件Form + @ModelAttribute + public SearchConditionBookForm searchConditionBookForm() { + return new SearchConditionBookForm(); + } + +// ① 書籍一覧の初期表示 + + @RequestMapping(value ="/selectBook", method = RequestMethod.GET) + public String select(Model model) { + try { + //貸出可能な書籍を全権取得する + List books = searchBook.selectAll(); + //検索結果をmodelに登録する + model.addAttribute("books" , books); + //書籍一覧画面を表示する + return "book-search"; + + }catch(Exception e) { + //httpSessionを破棄 + httpsession.invalidate(); + //エラー内容を出力 + e.printStackTrace(); + //ログにエラーを記録 + LOGGER.log(Level.SEVERE, SEVERE_ERROR_MESSAGE, e); + //エラー画面へ遷移 + return "error"; + } + } + // ② 検索ボタン押下時の処理 + + @RequestMapping(value ="/selectBook", method = RequestMethod.POST) + public String ) { + + + +// } +} diff --git a/team1/src/main/java/com/example/demo/form/SearchConditionBookForm.java b/team1/src/main/java/com/example/demo/form/SearchConditionBookForm.java new file mode 100644 index 0000000..e180cc6 --- /dev/null +++ b/team1/src/main/java/com/example/demo/form/SearchConditionBookForm.java @@ -0,0 +1,18 @@ +package com.example.demo.form; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class SearchConditionBookForm { + //書籍名 + private String nmBook; + //出版社 + private String pubLisher; + //特記事項 + private String noteText; + +} diff --git a/team1/src/main/java/com/example/demo/service/SearchBook.java b/team1/src/main/java/com/example/demo/service/SearchBook.java new file mode 100644 index 0000000..74bb01c --- /dev/null +++ b/team1/src/main/java/com/example/demo/service/SearchBook.java @@ -0,0 +1,16 @@ +package com.example.demo.service; + +import java.util.List; + +import com.example.demo.entity.Book_collectionEntity; +import com.example.demo.form.SearchConditionBookForm; + +public interface SearchBook { + + //貸出可能な書籍を全件取得する + List selectAll(); + + //書籍名・出版社・特記事項を条件に検索する + List searchByWithLike(SearchConditionBookForm form); + +} diff --git a/team1/src/main/resources/templates/bookList.html b/team1/src/main/resources/templates/bookList.html new file mode 100644 index 0000000..70b74ce --- /dev/null +++ b/team1/src/main/resources/templates/bookList.html @@ -0,0 +1,72 @@ + + + + + + 書籍一覧・検索 + + + + +ログアウト +

書籍一覧・検索

+ +
+ + + + + + + + + + + + + + + + + + + + + + メニューに戻る +

検索結果

+ +
書籍名
出版社
特記事項
+ + + + + + + + + + + + + + + + + + + + + + + + + +
ISBN書籍名書籍名よみ出版社特記事項操作 +
+ + +
+ + + \ No newline at end of file