diff --git a/src/main/java/com/no1/wms/category/CategoryController.java b/src/main/java/com/no1/wms/category/CategoryController.java index 69a6c26..f4a82d8 100644 --- a/src/main/java/com/no1/wms/category/CategoryController.java +++ b/src/main/java/com/no1/wms/category/CategoryController.java @@ -40,11 +40,41 @@ public class CategoryController { // 카테고리 리스트 출력 @GetMapping("/category/list") - public String list(@RequestParam(name = "p", defaultValue = "1") int p, Model m) { + public String list(@RequestParam(name = "searchn", defaultValue = "4") int searchn, + @RequestParam(name = "search", defaultValue = "") String search, + @RequestParam(name = "p", defaultValue = "1") int page, Model m) { - // 서비스로 카테고리 목록 불러오는 메서드 작성 - List dto = categoryService.categoryList(p); + int count = categoryService.count(searchn, search); + + int perPage = 15; // 한 페이지에 보일 글의 개수 + int startRow = (page - 1) * perPage; + + List dto = categoryService.categoryList2(searchn, search, startRow ,perPage); + m.addAttribute("list", dto); + m.addAttribute("start", startRow + 1); + + int pageNum = 5;//보여질 페이지 번호 수 + int totalPages = count / perPage + (count % perPage > 0 ? 1 : 0); // 전체 페이지 수 + + int begin = (page - 1) / pageNum * pageNum + 1; + int end = begin + pageNum - 1; + if (end > totalPages) { + end = totalPages; + } + + m.addAttribute("searchn",searchn); + m.addAttribute("search",search); + m.addAttribute("begin", begin); + m.addAttribute("end", end); + m.addAttribute("pageNum", pageNum); + m.addAttribute("totalPages", totalPages); + m.addAttribute("p" , page); + + + // 서비스로 카테고리 목록 불러오는 메서드 작성 + //List dto = categoryService.categoryList(page); + //m.addAttribute("list", dto); return "category/list"; } @@ -128,6 +158,36 @@ public class CategoryController { return checkkan; } - + @PostMapping("/category/categorysearch") + public String categorySearch(@RequestParam(name = "searchn", defaultValue = "4") int searchn, + @RequestParam(name = "search", defaultValue = "") String search, + @RequestParam(name = "p", defaultValue = "1") int page, Model m) { + + int count = categoryService.count(searchn, search); + + int perPage = 10; // 한 페이지에 보일 글의 개수 + int startRow = (page - 1) * perPage; + + List dto = categoryService.categoryList2(searchn, search, startRow ,perPage); + + m.addAttribute("list", dto); + m.addAttribute("start", startRow + 1); + + int pageNum = 5;//보여질 페이지 번호 수 + int totalPages = count / perPage + (count % perPage > 0 ? 1 : 0); // 전체 페이지 수 + + int begin = (page - 1) / pageNum * pageNum + 1; + int end = begin + pageNum - 1; + if (end > totalPages) { + end = totalPages; + } + m.addAttribute("begin", begin); + m.addAttribute("end", end); + m.addAttribute("pageNum", pageNum); + m.addAttribute("totalPages", totalPages); + m.addAttribute("p" , page); + + return "modal/categorysearch"; + } } diff --git a/src/main/java/com/no1/wms/category/CategoryMapper.java b/src/main/java/com/no1/wms/category/CategoryMapper.java index a3e8def..4da0197 100644 --- a/src/main/java/com/no1/wms/category/CategoryMapper.java +++ b/src/main/java/com/no1/wms/category/CategoryMapper.java @@ -7,7 +7,7 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface CategoryMapper { - List categoryList(Map m); + List categoryList(Map m);//검색기능 미포함 CategoryDto selectByKanCode(String kan_code); int createProcess(CategoryDto dto); List selectAllCategory(); @@ -15,4 +15,9 @@ public interface CategoryMapper { int deactivateByKanCode(String kan_code); int activateByKanCode(String kan_code); String kanCheck(String kan_code); + + int count(Map m);//카운터 + List categoryList2(Map m);//검색기능까지 포함 + + } diff --git a/src/main/java/com/no1/wms/category/CategoryService.java b/src/main/java/com/no1/wms/category/CategoryService.java index 9280565..0273be3 100644 --- a/src/main/java/com/no1/wms/category/CategoryService.java +++ b/src/main/java/com/no1/wms/category/CategoryService.java @@ -56,5 +56,27 @@ public class CategoryService { return mapper.kanCheck(kan_code); } + public int count(int searchn, String search) { + + Map m = new HashMap(); + m.put("searchn",searchn); + m.put("search", search); + return mapper.count(m); + } + + public List categoryList2(int searchn, String search, int start, int perPage){ + + Map m = new HashMap(); + m.put("searchn",searchn); + m.put("search", search); + m.put("start", start); + m.put("perPage", perPage); + + return mapper.categoryList2(m); + } + + + + } diff --git a/src/main/resources/mappers/CategoryMapper.xml b/src/main/resources/mappers/CategoryMapper.xml index 5edd7d2..f1c1853 100644 --- a/src/main/resources/mappers/CategoryMapper.xml +++ b/src/main/resources/mappers/CategoryMapper.xml @@ -54,8 +54,39 @@ - - + + + + diff --git a/src/main/webapp/WEB-INF/views/category/list.jsp b/src/main/webapp/WEB-INF/views/category/list.jsp index 80e53ac..f6e6be1 100644 --- a/src/main/webapp/WEB-INF/views/category/list.jsp +++ b/src/main/webapp/WEB-INF/views/category/list.jsp @@ -14,25 +14,30 @@
-
+
- + + + + +
- - + + + + + + + +
-
@@ -57,44 +62,35 @@
-
- 엑셀이미지 +
@@ -133,9 +129,74 @@ form.appendChild(input); form.submit(); + }); - + + //검색기능 + $("#searchBtn").on("click",function(){ + + var searchn = $("#searchn").val(); + var search = $("#search").val(); + + var form = document.createElement("form"); + form.action = "/category/list"; + form.method = "get"; + + var input1 = document.createElement("input"); + input1.type = "hidden"; + input1.name = "searchn"; + input1.value = searchn; + form.appendChild(input1); + + var input2 = document.createElement("input"); + input2.type = "hidden"; + input2.name = "search"; + input2.value = search; + form.appendChild(input2); + + var input3 = document.createElement("input"); + input3.type = "hidden"; + input3.name = "p"; + input3.value = 1; + form.appendChild(input3); + + document.body.appendChild(form); + form.submit(); + + }); + + + });//ready + function pageingFunction(clickedId){ + var searchn1 = $("#searchn1").val(); + var search1 = $("#search1").val(); + + var form = document.createElement("form"); + form.action = "/category/list"; + form.method = "get"; + + var input1 = document.createElement("input"); + input1.type = "hidden"; + input1.name = "searchn"; + input1.value = searchn1; + form.appendChild(input1); + + var input2 = document.createElement("input"); + input2.type = "hidden"; + input2.name = "search"; + input2.value = search1; + form.appendChild(input2); + + var input3 = document.createElement("input"); + input3.type = "hidden"; + input3.name = "p"; + input3.value = clickedId; + form.appendChild(input3); + + document.body.appendChild(form); + form.submit(); + } \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/modal/categorysearch.jsp b/src/main/webapp/WEB-INF/views/modal/categorysearch.jsp new file mode 100644 index 0000000..3610c13 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/modal/categorysearch.jsp @@ -0,0 +1,114 @@ +<%@ page contentType="text/html; charset=UTF-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> + + + + +Insert title here + + + + + + + + + + + \ No newline at end of file