diff --git a/src/main/java/nlib/cmm/service/CodeService.java b/src/main/java/nlib/cmm/service/CodeService.java index 96233569..0a767f7d 100644 --- a/src/main/java/nlib/cmm/service/CodeService.java +++ b/src/main/java/nlib/cmm/service/CodeService.java @@ -12,5 +12,7 @@ import nlib.restful.service.DataApiResVO; public interface CodeService { public List> listCodes(String iCodeId) throws Exception; + + public List> listCtClsfs() throws Exception; } diff --git a/src/main/java/nlib/cmm/service/PagingVO.java b/src/main/java/nlib/cmm/service/PagingVO.java index 3f3a67a5..e285057e 100644 --- a/src/main/java/nlib/cmm/service/PagingVO.java +++ b/src/main/java/nlib/cmm/service/PagingVO.java @@ -6,10 +6,46 @@ public class PagingVO { int pageIndex = 1; /* 페이지 번호 */ int pageSize = DEFAULT_PAGE_SIZE; /* 페이지 크기 (1페이지당 보여줄 자료건수) */ - int totRecordCount; /* 총건수 */ + int totRecordCount = 0; /* 총건수 */ int pageStart = 0; /* 시작번호 (limit용)*/ + int startPage = 0; /*시작페이지 */ + int endPage = 0; /* 끝페이지 */ + int lastPage = 0; /* 마지막페이지 */ + private int cntPage = 5; /* 노출되는 페이지 개수 ex) << < 1 2 3 4 5 > >> */ + public int getStartPage() { + return startPage; + } + + public int getCntPage() { + return cntPage; + } + + public void setCntPage(int cntPage) { + this.cntPage = cntPage; + } + + public void setStartPage(int startPage) { + this.startPage = startPage; + } + + public int getEndPage() { + return endPage; + } + + public void setEndPage(int endPage) { + this.endPage = endPage; + } + + public int getLastPage() { + return lastPage; + } + + public void setLastPage(int lastPage) { + this.lastPage = lastPage; + } + public int getPageStart() { return pageStart; } @@ -67,4 +103,39 @@ public class PagingVO { return ((pageIndex - 1) * pageSize); } + + public void setPagingVO(int totRecordCount, int pageIndex, int pageSize) { + setPageIndex(pageIndex); + //현재 페이지 + setPageSize(pageSize); + //페이지 당 게시글수 + setTotRecordCount(totRecordCount); + //게시글 총 갯수 + calcLastPage(totRecordCount,pageSize); + //제일 마지막 페이지 계산 + + //시작 끝 페이지 계산 - 아래. + calcStartEndPage(pageIndex, cntPage); + setPageStart(pageIndex, pageSize); + + } + // 제일 마지막 페이지 계산 + public void calcLastPage(int totRecordCount, int pageSize) { + setLastPage((int) Math.ceil((double)totRecordCount / (double)pageSize)); + } + // 시작, 끝 페이지 계산 + public void calcStartEndPage(int pageIndex, int cntPage) { + setEndPage(((int)Math.ceil((double)pageIndex / (double)cntPage )) * cntPage ); + if (getLastPage() < getEndPage()) { + setEndPage(getLastPage()); + } + setStartPage(getEndPage() - cntPage + 1); + if (getStartPage() < 1) { + setStartPage(1); + } + } + // DB 쿼리에서 사용할 start값 계산 + public void setPageStart(int pageIndex, int pageSize) { + this.pageStart = ((pageIndex - 1) * pageSize); + } } diff --git a/src/main/java/nlib/cmm/service/impl/CodeDAO.java b/src/main/java/nlib/cmm/service/impl/CodeDAO.java index a359989b..f6137ff5 100644 --- a/src/main/java/nlib/cmm/service/impl/CodeDAO.java +++ b/src/main/java/nlib/cmm/service/impl/CodeDAO.java @@ -31,4 +31,6 @@ import egovframework.rte.psl.dataaccess.mapper.Mapper; public interface CodeDAO { public List> listCodes(String iCodeId) throws Exception; + + public List> listCtClsfs() throws Exception; } diff --git a/src/main/java/nlib/cmm/service/impl/CodeServiceImpl.java b/src/main/java/nlib/cmm/service/impl/CodeServiceImpl.java index aea75c02..fb8390d6 100644 --- a/src/main/java/nlib/cmm/service/impl/CodeServiceImpl.java +++ b/src/main/java/nlib/cmm/service/impl/CodeServiceImpl.java @@ -27,4 +27,8 @@ public class CodeServiceImpl extends EgovAbstractServiceImpl implements CodeServ return codeDAO.listCodes(iCodeId.toUpperCase()); } + + public List> listCtClsfs() throws Exception { + return codeDAO.listCtClsfs(); + } } \ No newline at end of file diff --git a/src/main/java/nlib/cmm/snslogin/KakaoController.java b/src/main/java/nlib/cmm/snslogin/KakaoController.java index 55732d1b..7d6af8d4 100644 --- a/src/main/java/nlib/cmm/snslogin/KakaoController.java +++ b/src/main/java/nlib/cmm/snslogin/KakaoController.java @@ -22,11 +22,11 @@ import com.fasterxml.jackson.databind.ObjectMapper; @Controller public class KakaoController { - private final static String K_CLIENT_ID = "e74d25210853313dd1fead4c6c1f06ec"; + private final static String K_CLIENT_ID = "dawsdasd"; public static String getAuthorizationUrl(HttpSession session,String K_REDIRECT_URI) { - String kakaoUrl = "https://kauth.kakao.com/oauth/authorize?" + "client_id=" + K_CLIENT_ID + "&redirect_uri=" - + K_REDIRECT_URI + "&response_type=code"; + String kakaoUrl = "https://kauth.kakao.com/oauth/authorize?" + "client_id=" + K_CLIENT_ID + + "&redirect_uri="+ K_REDIRECT_URI + "&response_type=code"; return kakaoUrl; } diff --git a/src/main/java/nlib/col/service/CollectionService.java b/src/main/java/nlib/col/service/CollectionService.java index ce80fb46..d987c036 100644 --- a/src/main/java/nlib/col/service/CollectionService.java +++ b/src/main/java/nlib/col/service/CollectionService.java @@ -22,6 +22,10 @@ public interface CollectionService public RisVO selectRisInfo(RisVO vo); - public List selectOrgList(CollectionVO vo); + public List selectOrgList(); + + public List listItems(CollectionVO searchCollectionVO); + + public int countListItems(CollectionVO searchCollectionVO); } \ No newline at end of file diff --git a/src/main/java/nlib/col/service/InterestService.java b/src/main/java/nlib/col/service/InterestService.java index 3881343d..6072511b 100644 --- a/src/main/java/nlib/col/service/InterestService.java +++ b/src/main/java/nlib/col/service/InterestService.java @@ -17,4 +17,6 @@ public interface InterestService public int countInterest(CollectionVO vo); + public List selectOrgList(CollectionVO vo); + } \ No newline at end of file diff --git a/src/main/java/nlib/col/service/impl/CollectionDAO.java b/src/main/java/nlib/col/service/impl/CollectionDAO.java index 723552c2..0d22c0a9 100644 --- a/src/main/java/nlib/col/service/impl/CollectionDAO.java +++ b/src/main/java/nlib/col/service/impl/CollectionDAO.java @@ -80,10 +80,28 @@ public class CollectionDAO extends EgovComAbstractDAO return selectOne("CollectionDAO.selectRisInfo", vo); } /** - * 문화원 목록 조회 + * 문화원 목록 조회(검색필터용) * @return */ - public List selectOrgList(CollectionVO vo) { - return selectList("CollectionDAO.selectOrgList",vo); + public List selectOrgList() { + return selectList("CollectionDAO.selectOrgList"); + } + + /** + * 소장자료 목록 조회 + * @param searchCollectionVO + * @return + */ + public List listItems(CollectionVO searchCollectionVO) { + return selectList("CollectionDAO.listItems",searchCollectionVO); + } + + /** + * 소장자료 목록 개수 조회 + * @param searchCollectionVO + * @return + */ + public int countListItems(CollectionVO searchCollectionVO) { + return selectOne("CollectionDAO.countListItems",searchCollectionVO); } } \ No newline at end of file diff --git a/src/main/java/nlib/col/service/impl/CollectionServiceImpl.java b/src/main/java/nlib/col/service/impl/CollectionServiceImpl.java index 9a66068f..f9d7b20f 100644 --- a/src/main/java/nlib/col/service/impl/CollectionServiceImpl.java +++ b/src/main/java/nlib/col/service/impl/CollectionServiceImpl.java @@ -69,11 +69,29 @@ public class CollectionServiceImpl implements CollectionService } /* - * 문화원 목록 조회 + * 문화원 목록 조회(검색 필터용) * (non-Javadoc) * @see nlib.col.service.CollectionService#selectOrgList() */ - public List selectOrgList(CollectionVO vo) { - return collectionDAO.selectOrgList(vo); + public List selectOrgList() { + return collectionDAO.selectOrgList(); + } + + /* + * 소장자료 목록 조회 + * (non-Javadoc) + * @see nlib.col.service.CollectionService#listItems(nlib.col.service.CollectionVO) + */ + public List listItems(CollectionVO searchCollectionVO) { + return collectionDAO.listItems(searchCollectionVO); + } + + /* + * 소장자료 목록 개수 조회 + * (non-Javadoc) + * @see nlib.col.service.CollectionService#countListItems(nlib.col.service.CollectionVO) + */ + public int countListItems(CollectionVO searchCollectionVO) { + return collectionDAO.countListItems(searchCollectionVO); } } \ No newline at end of file diff --git a/src/main/java/nlib/col/service/impl/InterestDAO.java b/src/main/java/nlib/col/service/impl/InterestDAO.java index c42b112a..a8a06efc 100644 --- a/src/main/java/nlib/col/service/impl/InterestDAO.java +++ b/src/main/java/nlib/col/service/impl/InterestDAO.java @@ -8,6 +8,7 @@ import org.springframework.stereotype.Repository; import egovframework.com.cmm.service.impl.EgovComAbstractDAO; import nlib.col.service.CollectionVO; +import nlib.col.service.DeptVO; import nlib.restful.DataApi; import nlib.restful.service.DataApiReqVO; import nlib.restful.service.DataApiResVO; @@ -60,4 +61,11 @@ public class InterestDAO extends EgovComAbstractDAO public void insertInterest(CollectionVO vo) { insert("InterestDAO.insertInterest",vo); } + /** + * 문화원 목록 조회 + * @return + */ + public List selectOrgList(CollectionVO vo) { + return selectList("InterestDAO.selectOrgList",vo); + } } \ No newline at end of file diff --git a/src/main/java/nlib/col/service/impl/InterestServiceImpl.java b/src/main/java/nlib/col/service/impl/InterestServiceImpl.java index 11d59087..b94e2aad 100644 --- a/src/main/java/nlib/col/service/impl/InterestServiceImpl.java +++ b/src/main/java/nlib/col/service/impl/InterestServiceImpl.java @@ -10,6 +10,7 @@ import org.springframework.stereotype.Service; import nlib.col.service.CartService; import nlib.col.service.CollectionVO; +import nlib.col.service.DeptVO; import nlib.col.service.InterestService; import nlib.restful.service.DataApiReqVO; import nlib.restful.service.DataApiResVO; @@ -70,4 +71,12 @@ public class InterestServiceImpl implements InterestService public void insertInterest(CollectionVO vo) { interestDAO.insertInterest(vo); } + /* + * 문화원 목록 조회 + * (non-Javadoc) + * @see nlib.col.service.CollectionService#selectOrgList() + */ + public List selectOrgList(CollectionVO vo) { + return interestDAO.selectOrgList(vo); + } } \ No newline at end of file diff --git a/src/main/java/nlib/col/web/CollectionController.java b/src/main/java/nlib/col/web/CollectionController.java index 789ab859..f193c8a6 100644 --- a/src/main/java/nlib/col/web/CollectionController.java +++ b/src/main/java/nlib/col/web/CollectionController.java @@ -30,9 +30,11 @@ import nlib.bbs.service.ArticleVO; import nlib.cmm.NlibCommonController; import nlib.cmm.service.CodeService; import nlib.cmm.service.NlibProperty; +import nlib.cmm.service.PagingVO; import nlib.col.service.CollectionService; import nlib.col.service.CollectionVO; import nlib.col.service.DeptVO; +import nlib.col.service.InterestService; import nlib.col.service.RisVO; import nlib.restful.service.DataApiReqVO; import nlib.restful.service.DataApiResVO; @@ -55,6 +57,9 @@ public class CollectionController extends NlibCommonController @Resource(name="collectionService") private CollectionService collectionService; + @Resource(name = "interestService") + private InterestService interestService; + /** * 소장자료 화면을 호출한다. * @@ -66,15 +71,31 @@ public class CollectionController extends NlibCommonController String searchKeyword = paramMap.get("searchKeyword"); String pageIndex = StringUtil.getString(paramMap.get("pageIndex"), "1"); String pageSize = StringUtil.getString(paramMap.get("pageSize") , DEFUALT_PAGE_SIZE); - + List vo = new ArrayList(); + // 페이징 사이즈 코드 목록 조회 (DB방식으로 변경 2021.08.06 KNKIM) List> pageSizeCodes = codeService.listCodes("PAGE_SIZE_OPTION"); + // 자료유형 코드 목록 조회 + List> masterType = codeService.listCodes("MASTER_TYPE_DIV_CD"); + List> dtlsType = codeService.listCodes("DTLS_TYPE_DIV_CD"); + + //주제분야 목록 조회 + List> clsf = codeService.listCtClsfs(); + + //문화원 목록 조회 + vo = collectionService.selectOrgList(); + // 반환 정보 model.addAttribute("pageIndex" , pageIndex); model.addAttribute("pageSize" , pageSize); model.addAttribute("searchKeyword", searchKeyword); model.addAttribute("pageSizeCodes", pageSizeCodes); + model.addAttribute("masterType", masterType); + model.addAttribute("dtlsType", dtlsType); + model.addAttribute("masterClsf", clsf); + model.addAttribute("dtlsClsf", clsf); + model.addAttribute("orgList",vo); return "nlib/collection/listItems"; } @@ -86,22 +107,37 @@ public class CollectionController extends NlibCommonController */ @RequestMapping(value="/collection/listItemsAjax.do") public ResponseEntity listItemsAjax(HttpServletRequest req, - Authentication authentication, @RequestBody Map paramMap) { + Authentication authentication, @RequestBody CollectionVO searchCollectionVO) { - String searchKeyword = paramMap.get("searchKeyword"); - String pageIndex = StringUtil.getString(paramMap.get("pageIndex"), "1"); - String pageSize = StringUtil.getString(paramMap.get("pageSize") , DEFUALT_PAGE_SIZE); + //String searchKeyword = paramMap.get("searchKeyword"); + if(searchCollectionVO.getPageIndex() < 1) searchCollectionVO.setPageIndex(1); + if(searchCollectionVO.getPageSize() < 1) searchCollectionVO.setPageSize(DEFUALT_PAGE_SIZE); + + int totalCount= 0; + //사용자 정보를 가져온다. + NlibLoginVO loginVO = getNlibLoginVO(authentication); + + searchCollectionVO.setPageStart(searchCollectionVO.getPageIndex(), searchCollectionVO.getPageSize()); + List List = new ArrayList(); + + // 요청 + List = collectionService.listItems(searchCollectionVO); + totalCount = collectionService.countListItems(searchCollectionVO); + + PagingVO pageVO = new PagingVO(); + pageVO.setPagingVO(totalCount, searchCollectionVO.getPageIndex(), searchCollectionVO.getPageSize()); + //------------------------------- // REQ VO 구성 //------------------------------- - DataApiReqVO reqVO = new DataApiReqVO(); + /*DataApiReqVO reqVO = new DataApiReqVO(); reqVO.setPageIndex(pageIndex); reqVO.setPageSize(pageSize); - reqVO.addInfoItem("searchKeyword", searchKeyword); + reqVO.putInfoItem("searchKeyword", searchKeyword); // 요청 - DataApiResVO resVO = collectionService.listItems(reqVO); + //DataApiResVO resVO = collectionService.listItems(reqVO); //------------------------------- // JSON변환 응답 처리 @@ -111,9 +147,10 @@ public class CollectionController extends NlibCommonController // itemsCount: 255 // } HashMap retMap = new HashMap(); - retMap.put("data", resVO.getList()); + retMap.put("data", resVO.getList(DataApiVO.XML_EL_NAME_RECORD)); retMap.put("itemsCount", resVO.getRecordTotCount()); - + retMap.put("data", List); + retMap.put("pageVO", pageVO); return makeResponseEntityJson(retMap); } @@ -158,7 +195,7 @@ public class CollectionController extends NlibCommonController if(Ty.length() > 3) { - Ty.replace("IT_", ""); + Ty = Ty.replaceFirst("IT_", ""); } String s = "TY - " + Ty; diff --git a/src/main/java/nlib/col/web/InterestController.java b/src/main/java/nlib/col/web/InterestController.java index c2437c95..6fd9503d 100644 --- a/src/main/java/nlib/col/web/InterestController.java +++ b/src/main/java/nlib/col/web/InterestController.java @@ -86,7 +86,7 @@ public class InterestController extends NlibCommonController searchCollectionVO.setMbInfoId(loginVO.getMbInfoId()); //문화원 목록 조회 - vo = collectionService.selectOrgList(searchCollectionVO); + vo = interestService.selectOrgList(searchCollectionVO); model.addAttribute("deptList",vo); model.addAttribute("searchCollection", searchCollectionVO); @@ -111,7 +111,7 @@ public class InterestController extends NlibCommonController NlibLoginVO loginVO = getNlibLoginVO(authentication); searchCollectionVO.setMbInfoId(loginVO.getMbInfoId()); - searchCollectionVO.setPageStart((searchCollectionVO.getPageIndex()-1) * searchCollectionVO.getPageSize()); + searchCollectionVO.setPageStart(searchCollectionVO.getPageIndex(), searchCollectionVO.getPageSize()); List List = new ArrayList(); // 요청 diff --git a/src/main/resources/egovframework/mapper/nlib/cmm/CodeDAO_SQL.xml b/src/main/resources/egovframework/mapper/nlib/cmm/CodeDAO_SQL.xml index 4918b00c..83c1f19b 100644 --- a/src/main/resources/egovframework/mapper/nlib/cmm/CodeDAO_SQL.xml +++ b/src/main/resources/egovframework/mapper/nlib/cmm/CodeDAO_SQL.xml @@ -5,7 +5,10 @@ + + \ No newline at end of file diff --git a/src/main/resources/egovframework/mapper/nlib/col/CollectionDAO_SQL.xml b/src/main/resources/egovframework/mapper/nlib/col/CollectionDAO_SQL.xml index ac5752d7..2976b3a0 100644 --- a/src/main/resources/egovframework/mapper/nlib/col/CollectionDAO_SQL.xml +++ b/src/main/resources/egovframework/mapper/nlib/col/CollectionDAO_SQL.xml @@ -13,8 +13,8 @@ AND MASTER_ID = #{masterId} - + /* CollectionDAO.selectOrgList 문화원 목록 조회 (검색 필터용) */ date_format(NOW(), '%Y%m%d') - AND MI.USE_YN = "Y" - AND MI.MB_INFO_ID = #{mbInfoId} GROUP BY ORG_CD,DEPT_NM + ORDER BY ORG_CD ]]> + + + + \ No newline at end of file diff --git a/src/main/resources/egovframework/mapper/nlib/col/InterestDAO_SQL.xml b/src/main/resources/egovframework/mapper/nlib/col/InterestDAO_SQL.xml index f1681c7d..26456506 100644 --- a/src/main/resources/egovframework/mapper/nlib/col/InterestDAO_SQL.xml +++ b/src/main/resources/egovframework/mapper/nlib/col/InterestDAO_SQL.xml @@ -82,4 +82,29 @@ AND MI.MB_INFO_ID = #{mbInfoId} AND MI.USE_YN = "Y" + + \ No newline at end of file diff --git a/src/main/resources/egovframework/spring/context-oauth.xml b/src/main/resources/egovframework/spring/context-oauth.xml index 97ddb2de..3dc598f8 100644 --- a/src/main/resources/egovframework/spring/context-oauth.xml +++ b/src/main/resources/egovframework/spring/context-oauth.xml @@ -14,16 +14,16 @@ - - + + - - + + diff --git a/src/main/webapp/WEB-INF/jsp/nlib/collection/listItems.jsp b/src/main/webapp/WEB-INF/jsp/nlib/collection/listItems.jsp index 208a4cb4..76764b07 100644 --- a/src/main/webapp/WEB-INF/jsp/nlib/collection/listItems.jsp +++ b/src/main/webapp/WEB-INF/jsp/nlib/collection/listItems.jsp @@ -50,81 +50,11 @@ window.onload = function() { - - $("#jsGrid").jsGrid({ - pageSize : $("#pageSize").val(), - controller: { - loadData: function(filter) { - var data = $.Deferred(); - - var reqUrl = "${pageContext.request.contextPath}/collection/listItemsAjax.do"; - var searchKeyword = document.articleForm.searchKeyword.value; - var pageIndex = ( filter && filter.pageIndex ? filter.pageIndex : $("#pageIndex").val()); - var pageSize = ( filter && filter.pageSize ? filter.pageSize : $("#pageSize").val()); - - $("#pageIndex").val(pageIndex); - - var inputData = { - "searchKeyword" : searchKeyword - , "pageIndex" : pageIndex - , "pageSize": pageSize}; - $.ajax({ - type: "post", - contentType: "application/json; charset=utf-8", - url: reqUrl, - dataType: 'json', - data: JSON.stringify(inputData), - }).done(function(response){ - <% - // 그리드 데이터 예시 : - // (1) 페이징 클라이언트에서 수행하는 경우(pageloading = false) : [{ "articleNo": 1, "articleType": "01" }, { "articleNo": 2, "articleType": "02" }] - // (2) 페이징 서버에서 수행하는 경우(pageloading = true) : {data: [{...}], itemsCount: 255} - %> - data.resolve(JSON.parse(response)); - }); - return data.promise(); - } - }, - - rowRenderer: function(item) { - var user = item; - console.log(item); - var $photo = $("
").addClass("client-photo").append($("") - .attr("src", "data:image/jpeg;base64,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")); - var $info = $("
").addClass("client-info") - .append($("").attr("value","원문보기")) - .append($("").attr("value","RIS")) - .append($("

").append($("").text(user.rentItem.capitalize()))) - .append($("

").text("도서간행물 / OO 문화원(2018)")) - .append($("

").text("소장 : OO문화원, OO문화원")) - .append($("

").text("설명이 들어갑니다.설명이 들어갑니다.설명이 들어갑니다.설명이 들어갑니다.설명이 들어갑니다.설명이 들어갑니다.설명이 들어갑니다.")); - - return $("").append($("").append($photo).append($info)); - }, - rowClick: function(args) { // 행 클릭 시, 실행되는 이벤트 함수 - - // 클릭된 행의 자료 객체 - var getData = args.item; - - // 추출할 컬럼의 데이터 가져오기 - var articleNo = getData["articleNo"]; - - // 상세 내용 보기 - fn_view_detail(articleNo); - }, - fields: [ - { title: "소장자료" } - ] - }); - - - String.prototype.capitalize = function() { - return this.charAt(0).toUpperCase() + this.slice(1); - }; - + // 페이지 크기 변경시 재조회 $("#pageSize").on("change", function(e) { - fn_search_article($("#pageSize").val(), 1); + $("#pageIndex").val(1); + fn_search_article($("#pageIndex").val()); }); // 검색 버튼 클릭 @@ -133,12 +63,37 @@ window.onload = function() { }); //초기 자료 조회 - fn_search_article(); + fn_search_article(1); }; // window.onload +//검색필터 서브메뉴 보이기 +function fn_show_sub(subId,subClass){ + if($("#" + subId).css("display") == "none") + { + $("."+subClass).css("display","none"); + $("#" + subId).css("display","block"); + }else{ + $("#" + subId).css("display","none"); + } +} + +//검색필터 메뉴 더보기 +function fn_show_more(showMoreId){ + if($("#" + showMoreId).html() == "더 보기") + { + $("."+showMoreId).css("display","block"); + $("#" + showMoreId).html("접기"); + } + else if($("#" + showMoreId).html() == "접기") + { + $("."+showMoreId).css("display","none"); + $("#" + showMoreId).html("더 보기"); + } +} + function docView(){ alert("원문보기"); } @@ -155,12 +110,48 @@ function fn_view_detail(articleNo) { } // 그리드 데이터 조회 호출 -function fn_search_article(pageSize, pageIndex) { - $("#jsGrid").jsGrid("search" - , {'pageSize' : (pageSize ? pageSize : fn_getIntValue("pageSize", ${pageSize})), - 'pageIndex': (pageIndex ? pageIndex : fn_getIntValue("pageIndex", 1)) - } - ); +function fn_search_article(pageIndex) { + var reqUrl = "${pageContext.request.contextPath}/collection/listItemsAjax.do"; + + $("#pageIndex").val(pageIndex); + + var inputData = { + "pageIndex" : pageIndex + , "pageSize": $("#pageSize").val()}; + + + $.ajax({ + type: "post", + contentType: "application/json; charset=utf-8", + url: reqUrl, + dataType: 'json', + data: JSON.stringify(inputData), + }).done(function(response){ + var html = ""; + var jsonObj = JSON.parse(response); + console.log(jsonObj); + console.log(jsonObj.data.length); + + $("#itemList *").remove(); + + //jsonArray to jsonObject 형식 데이터 파싱 수행 + for(var i=0; i" + html+= "" + jsonObject.title + "" + html+= "" + jsonObject.mngOrgNm + "" + html+= ""; + } + $("#itemList").append(html); + //페이징처리 + paging(jsonObj.pageVO); + <% + // 그리드 데이터 예시 : + // (1) 페이징 클라이언트에서 수행하는 경우(pageloading = false) : [{ "articleNo": 1, "articleType": "01" }, { "articleNo": 2, "articleType": "02" }] + // (2) 페이징 서버에서 수행하는 경우(pageloading = true) : {data: [{...}], itemsCount: 255} + %> + }); } @@ -181,15 +172,77 @@ function fn_search_article(pageSize, pageIndex) { - - + + - -

+
+ + + + + +
+ + +
+
+
+ + +

    생산년도

    +
    + 전체
    + ~
    + (미상포함) + 적용 +
    +
+

    생산기관

    +
+
diff --git a/src/main/webapp/js/nlib.js b/src/main/webapp/js/nlib.js index e5602316..26005a75 100644 --- a/src/main/webapp/js/nlib.js +++ b/src/main/webapp/js/nlib.js @@ -222,4 +222,46 @@ function insertInterest(masterId){ }).done(function(result){ alert(result); }); -} \ No newline at end of file +} + +function paging(pageVO) +{ + $("#paging *").remove(); + + var html=""; + var startPage = pageVO.startPage; + var endPage = pageVO.endPage; + + if(pageVO.startPage != pageVO.lastPage ) + { + if(pageVO.pageIndex != 1 ){ + html+="\<\< " + html+="\< "; + }else{ + html+="\<\< " + html+="\< "; + } + + for(startPage; startPage <= endPage; startPage++ ) + { + if(startPage != pageVO.pageIndex) + { + html+= "" + startPage + " " + }else{ + html+= "" + startPage + " " + } + } + + if(pageVO.pageIndex != pageVO.lastPage){ + html+="\> " + html+="\>\> "; + }else{ + html+="\> " + html+="\>\>"; + } + } + + + $("#paging").append(html); +} +