From 304b7ace54351f5cad92108f756475ff1d204a77 Mon Sep 17 00:00:00 2001 From: KNKIM Date: Tue, 27 Jul 2021 11:36:24 +0900 Subject: [PATCH] =?UTF-8?q?=EB=AA=A9=EB=A1=9D=20JSGRID=20=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=EC=A7=95=20=EC=B2=98=EB=A6=AC=EA=B4=80=EB=A0=A8=20?= =?UTF-8?q?=EC=BB=A4=EC=8A=A4=ED=84=B0=EB=A7=88=EC=9D=B4=EC=A7=95=20?= =?UTF-8?q?=EC=9E=91=EC=97=85=20=EC=99=84=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../uac.service.board.qna.list_GET.xml | 60 ++--- .../java/nlib/bbs/web/BoardController.java | 19 +- .../nlib/restful/service/XmlConverter.java | 2 +- .../restful/service/impl/DataApiTempXml.java | 2 +- src/main/java/nlib/util/StringUtil.java | 11 + src/main/resources/nlib/nlib.properties | 6 + .../WEB-INF/jsp/nlib/board/listQnAs.jsp | 233 ++++++++---------- .../WEB-INF/jsp/nlib/board/selectQnA.jsp | 2 +- src/main/webapp/js/nlib.js | 20 +- 9 files changed, 183 insertions(+), 172 deletions(-) diff --git a/data/dataxml/uac.service.board.qna.list_GET.xml b/data/dataxml/uac.service.board.qna.list_GET.xml index 524782ec..58256205 100644 --- a/data/dataxml/uac.service.board.qna.list_GET.xml +++ b/data/dataxml/uac.service.board.qna.list_GET.xml @@ -6,72 +6,72 @@ 125 1 - 101 - 공지사항 테스트 - 15 + 질문있습니다. + 김길동 + 답변완료 2021-07-19 2 - 101 - 공지사항 테스트 - 55 + 질문있습니다. + 김길동 + 답변완료 2021-07-19 3 - 101 - 공지사항 테스트 - 55 + 질문있습니다. + 김길동 + 답변완료 2021-07-19 4 - 101 - 공지사항 테스트 - 55 + 질문있습니다. + 김길동 + 대기 2021-07-19 5 - 101 - 공지사항 테스트 - 55 + 질문있습니다. + 김길동 + 대기 2021-07-19 6 - 101 - 공지사항 테스트 - 55 + 질문있습니다. + 김길동 + 답변완료 2021-07-19 7 - 101 - 공지사항 테스트 - 55 + 질문있습니다. + 김길동 + 답변완료 2021-07-19 8 - 101 - 공지사항 테스트 - 55 + 질문있습니다. + 김길동 + 답변완료 2021-07-19 9 - 101 - 공지사항 테스트 - 55 + 질문있습니다. + 김길동 + 답변완료 2021-07-19 10 - 101 - 공지사항 테스트 - 55 + 질문있습니다. + 김길동 + 답변완료 2021-07-19 diff --git a/src/main/java/nlib/bbs/web/BoardController.java b/src/main/java/nlib/bbs/web/BoardController.java index ab46338b..6b45d210 100644 --- a/src/main/java/nlib/bbs/web/BoardController.java +++ b/src/main/java/nlib/bbs/web/BoardController.java @@ -24,6 +24,7 @@ import nlib.cmm.NlibCommonController; import nlib.cmm.crypto.AriaCrypto; import nlib.cmm.crypto.NlibPasswordEncoder; import nlib.cmm.service.CodeService; +import nlib.cmm.service.NlibProperty; import nlib.restful.service.DataApiReqVO; import nlib.restful.service.DataApiResVO; import nlib.user.service.NlibLoginVO; @@ -34,6 +35,8 @@ public class BoardController extends NlibCommonController { private static final Logger log = LoggerFactory.getLogger(BoardController.class); + static final String DEFUALT_PAGE_SIZE = NlibProperty.getProperty("list.paging.page.size"); + @Resource(name = "boardService") private BoardService boardService; @@ -94,8 +97,8 @@ public class BoardController extends NlibCommonController public String listQnAs(HttpServletRequest req, Authentication authentication, @RequestParam Map paramMap, ModelMap model) { String searchKeyword = paramMap.get("searchKeyword"); - String pageIndex = paramMap.get("pageIndex"); - String pageSize = paramMap.get("pageSize"); + String pageIndex = StringUtil.getString(paramMap.get("pageIndex"), "1"); + String pageSize = StringUtil.getString(paramMap.get("pageSize") , DEFUALT_PAGE_SIZE); log.debug("listQnAs > pageIndex = " + pageIndex); log.debug("listQnAs > pageSize = " + pageSize); @@ -112,9 +115,7 @@ public class BoardController extends NlibCommonController model.addAttribute("pageIndex" , pageIndex); model.addAttribute("pageSize" , pageSize); model.addAttribute("searchKeyword", searchKeyword); - model.addAttribute("pageSizeCodes", resVOforPageSize.getList()); - //log.debug("listQnAs > pageSizeCodes : " + resVOforPageSize.getList()); return "nlib/board/listQnAs"; } @@ -130,8 +131,8 @@ public class BoardController extends NlibCommonController Authentication authentication, @RequestBody Map paramMap) { String searchKeyword = paramMap.get("searchKeyword"); - String pageIndex = paramMap.get("pageIndex"); - String pageSize = paramMap.get("pageSize"); + String pageIndex = StringUtil.getString(paramMap.get("pageIndex"), "1"); + String pageSize = StringUtil.getString(paramMap.get("pageSize") , DEFUALT_PAGE_SIZE); log.debug("listQnAsAjax > pageIndex = " + pageIndex); log.debug("listQnAsAjax > pageSize = " + pageSize); @@ -144,12 +145,8 @@ public class BoardController extends NlibCommonController reqVO.setAuthKey(createAuthKey(req, authentication)); reqVO.setPageIndex(pageIndex); reqVO.setPageSize(pageSize); + reqVO.addInfoItem("searchKeyword", searchKeyword); - // 추가 정보 설정 - HashMap info = new HashMap(); - info.put("searchKeyword", searchKeyword); - reqVO.setInfo(info); - // 요청 DataApiResVO resVO = boardService.listQnAs(reqVO); diff --git a/src/main/java/nlib/restful/service/XmlConverter.java b/src/main/java/nlib/restful/service/XmlConverter.java index e0f4c4f2..15a67c3c 100644 --- a/src/main/java/nlib/restful/service/XmlConverter.java +++ b/src/main/java/nlib/restful/service/XmlConverter.java @@ -119,7 +119,7 @@ public class XmlConverter { } addValue(retMap, elementName, elementValue); - System.out.println(elementName + " : -" + elementValue + "_"); + //log.debug(elementName + " : -" + elementValue + "_"); elementName = null; elementValue = ""; diff --git a/src/main/java/nlib/restful/service/impl/DataApiTempXml.java b/src/main/java/nlib/restful/service/impl/DataApiTempXml.java index 8f3eda72..73804a8a 100644 --- a/src/main/java/nlib/restful/service/impl/DataApiTempXml.java +++ b/src/main/java/nlib/restful/service/impl/DataApiTempXml.java @@ -129,7 +129,7 @@ public class DataApiTempXml implements DataApiInterface { //----------------------------------- HttpStatus statusCode = HttpStatus.OK; String resultXML = getTempDataFromXmlFile(reqVO, method); - log.debug("RES resultXML : " + resultXML); + //log.debug("RES resultXML : " + resultXML); // 응답 자료 객체화 resVO = DataApiInterface.convertXmlToResVO(resultXML); diff --git a/src/main/java/nlib/util/StringUtil.java b/src/main/java/nlib/util/StringUtil.java index ea832394..59f7d4d5 100644 --- a/src/main/java/nlib/util/StringUtil.java +++ b/src/main/java/nlib/util/StringUtil.java @@ -40,6 +40,17 @@ public class StringUtil extends EgovStringUtil { return str == null || str.trim().length() == 0; } + /** + * Null 이거나, 빈문자열(공백 포함)인 경우, true를 리턴한다. + * + * @param str + * @return + */ + public static String getString(String str, String replaceStr) { + if(isEmpty(str)) return replaceStr; + else return str; + } + /** * Null이 아니고 빈문자열(공백 포함)이 아닌 일반 문자가 존재하는 , true를 리턴한다. * diff --git a/src/main/resources/nlib/nlib.properties b/src/main/resources/nlib/nlib.properties index a4cdce3c..e09541ee 100644 --- a/src/main/resources/nlib/nlib.properties +++ b/src/main/resources/nlib/nlib.properties @@ -34,6 +34,12 @@ dataapi.temp.xml.path = C:/iams/workspace/nlib/data/dataxml crypto.aria.defaultKey = TheFederationOfKoreaCultureCenter027042322 +#---------------------------------------- +# \ubaa9\ub85d \ud398\uc774\uc9d5 +#---------------------------------------- +list.paging.page.size = 10 + + #---------------------------------------- # \ucca8\ubd80\ud30c\uc77c \uacbd\ub85c \uc815\ubcf4 #---------------------------------------- diff --git a/src/main/webapp/WEB-INF/jsp/nlib/board/listQnAs.jsp b/src/main/webapp/WEB-INF/jsp/nlib/board/listQnAs.jsp index ee5976aa..050ca5a2 100644 --- a/src/main/webapp/WEB-INF/jsp/nlib/board/listQnAs.jsp +++ b/src/main/webapp/WEB-INF/jsp/nlib/board/listQnAs.jsp @@ -43,9 +43,114 @@ + - +

${pageTitle }

@@ -74,131 +179,5 @@ - - - - diff --git a/src/main/webapp/WEB-INF/jsp/nlib/board/selectQnA.jsp b/src/main/webapp/WEB-INF/jsp/nlib/board/selectQnA.jsp index cdb78a4c..d7e91651 100644 --- a/src/main/webapp/WEB-INF/jsp/nlib/board/selectQnA.jsp +++ b/src/main/webapp/WEB-INF/jsp/nlib/board/selectQnA.jsp @@ -148,7 +148,7 @@ function fn_updateForm(passwd) { // 게시글 수정 화면으로 이동 function fn_updatePassword() { - fn_prompt_password("비밀번호를 입력하여 주시기 바랍니다.", "fn_updateForm") + fn_promptPassword("비밀번호를 입력하여 주시기 바랍니다.", "fn_updateForm") } diff --git a/src/main/webapp/js/nlib.js b/src/main/webapp/js/nlib.js index ff090d21..87a70c36 100644 --- a/src/main/webapp/js/nlib.js +++ b/src/main/webapp/js/nlib.js @@ -8,7 +8,7 @@ // 팝업으로 비밀번호를 입력받아서 콜백함수에 전달한다. -function fn_prompt_password(msg, callbackFucName) { +function fn_promptPassword(msg, callbackFucName) { var thePrompt = window.open("", "_NLIB_POMPT_PASSWORD", "widht=100, height=100"); var theHTML = ""; @@ -23,3 +23,21 @@ function fn_prompt_password(msg, callbackFucName) { thePrompt.document.body.innerHTML = theHTML; } +/** + * ID를 name 으로 하는 객체의 값을 숫자(10진수)로 변환하여 리턴한다. + * 값이 적절하지 않은 경우, defaultValue를 리턴한다. + * + * @param name + * @param defaultValue + * @returns + */ +function fn_getIntValue(name, defaultValue) { + var val = $("#" + name).val(); + try { + return parseInt(val, 10); + } catch(error) { + console.error(error); + return defaultValue; + } +} +