중간저장
parent
be93b50e5e
commit
f4ae40d781
|
|
@ -1,6 +1,8 @@
|
|||
package com.dbnt.faisp.main.searchEngine;
|
||||
|
||||
import com.dbnt.faisp.main.codeMgt.service.CodeMgtService;
|
||||
import com.dbnt.faisp.main.menuMgt.model.MenuMgt;
|
||||
import com.dbnt.faisp.main.menuMgt.service.MenuMgtService;
|
||||
import com.dbnt.faisp.main.publicBoard.model.PublicBoard;
|
||||
import com.dbnt.faisp.main.publicBoard.model.PublicComment;
|
||||
import com.dbnt.faisp.main.publicBoard.service.PublicBoardService;
|
||||
|
|
@ -24,20 +26,21 @@ import java.util.List;
|
|||
public class SearchEngineController {
|
||||
|
||||
private final SearchEngineService searchEngineService;
|
||||
private final MenuMgtService menuMgtService;
|
||||
|
||||
@GetMapping("/searchPage")
|
||||
public ModelAndView organMgtPage(@AuthenticationPrincipal UserInfo loginUser, SearchParams params) {
|
||||
ModelAndView mav = new ModelAndView("searchEngine/search");
|
||||
if (Utils.isEmpty(params.getActiveTab())){
|
||||
params.setActiveTab("all");
|
||||
params.setPageIndex(1);
|
||||
}
|
||||
mav.addObject("searchParams", params);
|
||||
int totalCnt = 0;
|
||||
SearchResult result = null;
|
||||
MenuMgt menuParam = new MenuMgt();
|
||||
switch (params.getActiveTab()){
|
||||
case "all":
|
||||
// params.setOffset("0");
|
||||
// params.setLimit("10");
|
||||
params.setQueryInfo();
|
||||
params.setForm("search_menu_view.search_menu_view");
|
||||
result = searchEngineService.getData(params, SearchMenuView.class);
|
||||
totalCnt += result.getTotalCount();
|
||||
|
|
@ -50,26 +53,46 @@ public class SearchEngineController {
|
|||
result = searchEngineService.getData(params, SearchFileView.class);
|
||||
totalCnt += result.getTotalCount();
|
||||
mav.addObject("fileResult", result);
|
||||
|
||||
menuParam.setUserSeq(loginUser.getUserSeq());
|
||||
menuParam.setFirstIndex(0);
|
||||
menuParam.setRowCnt(Integer.MAX_VALUE);
|
||||
mav.addObject("menuList", menuMgtService.selectMenuMgtList(null));
|
||||
break;
|
||||
case "menu":
|
||||
params.setQueryInfo();
|
||||
params.setForm("search_menu_view.search_menu_view");
|
||||
result = searchEngineService.getData(params, SearchMenuView.class);
|
||||
totalCnt += result.getTotalCount();
|
||||
params.setContentCnt(totalCnt);
|
||||
mav.addObject("menuResult", result);
|
||||
params.setPaginationInfo();
|
||||
break;
|
||||
case "board":
|
||||
params.setQueryInfo();
|
||||
params.setForm("search_board_view.search_board_view");
|
||||
result = searchEngineService.getData(params, SearchBoardView.class);
|
||||
totalCnt += result.getTotalCount();
|
||||
params.setContentCnt(totalCnt);
|
||||
mav.addObject("boardResult", result);
|
||||
params.setPaginationInfo();
|
||||
|
||||
menuParam.setUserSeq(loginUser.getUserSeq());
|
||||
menuParam.setFirstIndex(0);
|
||||
menuParam.setRowCnt(Integer.MAX_VALUE);
|
||||
mav.addObject("menuList", menuMgtService.selectMenuMgtList(null));
|
||||
break;
|
||||
case "file":
|
||||
params.setQueryInfo();
|
||||
params.setForm("search_file_view.search_file_view");
|
||||
result = searchEngineService.getData(params, SearchFileView.class);
|
||||
totalCnt += result.getTotalCount();
|
||||
params.setContentCnt(totalCnt);
|
||||
mav.addObject("fileResult", result);
|
||||
params.setPaginationInfo();
|
||||
break;
|
||||
}
|
||||
mav.addObject("searchParams", params);
|
||||
mav.addObject("totalCnt", totalCnt);
|
||||
return mav;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,12 +3,48 @@ package com.dbnt.faisp.main.searchEngine.model;
|
|||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.persistence.Transient;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
public class SearchParams {
|
||||
private String form;
|
||||
private String keyword;
|
||||
private String offset;
|
||||
private String limit;
|
||||
private Integer offset;
|
||||
private Integer limit;
|
||||
private String activeTab;
|
||||
private Integer pageIndex;
|
||||
|
||||
private Integer contentCnt;
|
||||
private Integer startNum=1; // pagination 시작값
|
||||
private Integer endNum=5; // pagination 마지막값
|
||||
private Integer maxNum; // pagination 최대값
|
||||
|
||||
public void setQueryInfo(){
|
||||
setLimit(10);
|
||||
setOffset((getPageIndex()-1)*10);
|
||||
}
|
||||
|
||||
public void setPaginationInfo(){
|
||||
int contentCnt = getContentCnt();
|
||||
int rowCnt = 10;
|
||||
int maxNum = (int)Math.ceil(((double)contentCnt)/rowCnt);
|
||||
if (maxNum==0){
|
||||
maxNum = 1;
|
||||
}
|
||||
setMaxNum(maxNum);
|
||||
|
||||
int pageIndex = getPageIndex();
|
||||
int startNum = pageIndex - 2;
|
||||
if(startNum <= 0){
|
||||
startNum = 1;
|
||||
}
|
||||
setStartNum(startNum);
|
||||
|
||||
int endNum = startNum + 4;
|
||||
if(endNum>maxNum){
|
||||
endNum = maxNum;
|
||||
}
|
||||
setEndNum(endNum);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,8 +41,9 @@ public class SearchEngineService {
|
|||
.queryParam("select", "*")
|
||||
.queryParam("from", params.getForm())
|
||||
.queryParam("where", "text_idx = '"+params.getKeyword()+"' allword synonym order by $relevance desc")
|
||||
// .queryParam("offset", params.getOffset())
|
||||
// .queryParam("limit", params.getLimit())
|
||||
.queryParam("offset", params.getOffset().toString())
|
||||
//.queryParam("limit", params.getLimit().toString())
|
||||
// total_count 갯수수가 limit로 제한걸려 조건에서 제외. 검색 결과는 정상적으로 나옴.
|
||||
.queryParam("charset", "UTF-8")
|
||||
.queryParam("hilite-keywords", params.getKeyword())
|
||||
.encode()
|
||||
|
|
|
|||
|
|
@ -59,10 +59,12 @@ $(document).on('click', '.allChk', function (){
|
|||
$(this).parents('table').find('[type="checkbox"]').prop("checked", this.checked);
|
||||
})
|
||||
$(document).on('click', '.page-item', function (){
|
||||
if(!this.className.includes("modalPage")){
|
||||
searchFormSubmit($(this).attr("data-pageindex"))
|
||||
}else{
|
||||
if(this.className.includes("modalPage")){
|
||||
searchModalSubmit($(this).attr("data-pageindex"))
|
||||
}else if(this.className.includes("searchPage")){
|
||||
searchPageFormSubmit($(this).attr("data-pageindex"))
|
||||
}else{
|
||||
searchFormSubmit($(this).attr("data-pageindex"))
|
||||
}
|
||||
})
|
||||
$(document).on('click', '#searchModalBtn', function (){
|
||||
|
|
@ -84,6 +86,10 @@ function searchFormSubmit(pageIndex){
|
|||
$("#pageIndex").val(pageIndex);
|
||||
$("#searchBtn").click();
|
||||
}
|
||||
function searchPageFormSubmit(pageIndex){
|
||||
$("#pageIndexInput").val(pageIndex);
|
||||
$("#searchForm").submit();
|
||||
}
|
||||
function searchModalSubmit(pageIndex){
|
||||
$("#modalPageIndex").val(pageIndex);
|
||||
$.ajax({
|
||||
|
|
|
|||
|
|
@ -18,3 +18,12 @@ $(function () {
|
|||
}
|
||||
});
|
||||
});
|
||||
|
||||
$(document).on('click', '#searchBtn', function (){
|
||||
searchPageFormSubmit(1);
|
||||
})
|
||||
|
||||
$(document).on('click', '.searchTabLink', function (){
|
||||
$("#activeTabInput").val($(this).attr('data-activetab'))
|
||||
searchPageFormSubmit(1);
|
||||
})
|
||||
|
|
@ -8,16 +8,17 @@
|
|||
</th:block>
|
||||
<th:block layout:fragment="script">
|
||||
<script type="text/javascript" th:src="@{/js/searchEngine/prefixfree.min.js}"></script>
|
||||
<script type="text/javascript" th:src="@{/js/searchEngine/layout.js}"></script>
|
||||
<script type="text/javascript" th:src="@{/js/searchEngine/searchPage.js}"></script>
|
||||
</th:block>
|
||||
<div layout:fragment="content">
|
||||
<main>
|
||||
<div class="headerArea">
|
||||
<header id="searchHeader">
|
||||
<div class="searchPagetop guideBox">
|
||||
<form method="get" action="/search/searchPage">
|
||||
<form method="get" action="/search/searchPage" id="searchForm">
|
||||
<div class="searchBox">
|
||||
<input type="hidden" name="activeTab" th:value="${searchParams.activeTab}">
|
||||
<input type="hidden" name="pageIndex" id="pageIndexInput" th:value="${searchParams.pageIndex}">
|
||||
<input type="hidden" name="activeTab" id="activeTabInput" th:value="${searchParams.activeTab}">
|
||||
<input type="text" title="입력" name="keyword" placeholder="검색어를 입력해주세요." th:value="${searchParams.keyword}"/>
|
||||
<a href="#" id="searchBtn">검색</a>
|
||||
|
||||
|
|
@ -104,117 +105,157 @@
|
|||
<li th:class="${searchParams.activeTab eq 'board'?'active':''}"><a class="searchTabLink" href="#" data-activetab="board">게시판</a></li>
|
||||
<li th:class="${searchParams.activeTab eq 'file'?'active':''}"><a class="searchTabLink" href="#" data-activetab="file">첨부파일</a></li>
|
||||
</ul>
|
||||
<section class="searchDataListBox">
|
||||
<section class="searchDataListBox" th:if="${searchParams.activeTab eq 'all' or searchParams.activeTab eq 'menu'}">
|
||||
<h3>메뉴검색<span th:text="|${menuResult.totalCount}건|"></span></h3>
|
||||
<ul class="menuList">
|
||||
<th:block th:each="menu:${menuResult.rowList}">
|
||||
<li>
|
||||
<li th:each="menu:${menuResult.rowList}">
|
||||
<ol>
|
||||
<li th:text="${menu.menu_nm}"></li>
|
||||
<li><a th:href="${menu.menu_url}" th:text="${menu.menu_nm}"></a></li>
|
||||
</ol>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="optionView" th:if="${searchParams.activeTab eq 'all'}">
|
||||
<a href="#" class="plusView searchTabLink" data-activetab="menu">더보기 +</a>
|
||||
</div>
|
||||
<div class="row justify-content-center" th:if="${searchParams.activeTab eq 'menu'}">
|
||||
<div class="col-auto">
|
||||
<nav aria-label="Page navigation">
|
||||
<ul class="pagination mb-0">
|
||||
<th:block th:if="${searchParams.pageIndex>3}">
|
||||
<li class="page-item searchPage" th:data-pageindex="${(searchParams.pageIndex)-3}">
|
||||
<a class="page-link" href="#" aria-label="Previous">
|
||||
<span aria-hidden="true">«</span>
|
||||
</a>
|
||||
</li>
|
||||
</th:block>
|
||||
<th:block th:each="num : ${#numbers.sequence(searchParams.startNum, searchParams.endNum)}">
|
||||
<li class="page-item searchPage" th:data-pageindex="${num}" th:classappend="${searchParams.pageIndex eq num?'active':''}">
|
||||
<a class="page-link" href="#" th:text="${num}"></a>
|
||||
</li>
|
||||
</th:block>
|
||||
<th:block th:if="${searchParams.maxNum>searchParams.endNum+2}">
|
||||
<li class="page-item searchPage" th:data-pageindex="${(searchParams.pageIndex)+3}">
|
||||
<a class="page-link" href="#" aria-label="Next">
|
||||
<span aria-hidden="true">»</span>
|
||||
</a>
|
||||
</li>
|
||||
</th:block>
|
||||
</ul>
|
||||
<div class="optionView">
|
||||
<!--<a href="#" class="plusView">더보기 +</a>-->
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="searchDataListBox">
|
||||
<section class="searchDataListBox" th:if="${searchParams.activeTab eq 'all' or searchParams.activeTab eq 'board'}">
|
||||
<h3>게시판<span th:text="|${boardResult.totalCount}건|"></span></h3>
|
||||
<ul class="boardList">
|
||||
<li>
|
||||
<li th:each="board:${boardResult.rowList}">
|
||||
<dl>
|
||||
<dt><a href="#">2023년 2월 부안<span class="red bold">해양</span>경찰서 위도파출소장 업무추진비 집행내역 공개</a><span class="titleDate">2023.03.08</span></dt>
|
||||
<dd>2023년 2월 부안<span class="red bold">해양</span>경찰서 위도파출소장 업무추진비 집행내역입니다.</dd>
|
||||
<dd>해양경찰청 > 재정정보 > 업무추진비공개</dd>
|
||||
<dd>
|
||||
<b class="searchFileBtn openBul">· 첨부파일(2)</b>
|
||||
<div class="searchFileList">
|
||||
<a href="#">첨부파일 제목.hwp</a>
|
||||
<a href="#">첨부파일 제목.hwp</a>
|
||||
</div>
|
||||
</dd>
|
||||
</dl>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<dl>
|
||||
<dt><a href="#">2023년 2월 부안<span class="red bold">해양</span>경찰서 위도파출소장 업무추진비 집행내역 공개</a><span class="titleDate">2023.03.08</span></dt>
|
||||
<dd>2023년 2월 부안<span class="red bold">해양</span>경찰서 위도파출소장 업무추진비 집행내역입니다.2023년 2월 부안<span class="red bold">해양</span>경찰서 위도파출소장 업무추진비 집행내역입니다.2023년 2월 부안<span class="red bold">해양</span>경찰서 위도파출소장 업무추진비 집행내역입니다.</dd>
|
||||
<dd>해양경찰청 > 재정정보 > 업무추진비공개</dd>
|
||||
</dl>
|
||||
</li>
|
||||
<li>
|
||||
<dl>
|
||||
<dt><a href="#">2023년 2월 부안<span class="red bold">해양</span>경찰서 위도파출소장 업무추진비 집행내역 공개</a><span class="titleDate">2023.03.08</span></dt>
|
||||
<dd>2023년 2월 부안<span class="red bold">해양</span>경찰서 위도파출소장 업무추진비 집행내역입니다.</dd>
|
||||
<dd>해양경찰청 > 재정정보 > 업무추진비공개</dd>
|
||||
<dd>
|
||||
<b class="searchFileBtn openBul">· 첨부파일(1)</b>
|
||||
<div class="searchFileList">
|
||||
<a href="#">첨부파일 제목.hwp</a>
|
||||
</div>
|
||||
</dd>
|
||||
</dl>
|
||||
</li>
|
||||
<li>
|
||||
<dl>
|
||||
<dt><a href="#">2023년 2월 부안<span class="red bold">해양</span>경찰서 위도파출소장 업무추진비 집행내역 공개</a><span class="titleDate">2023.03.08</span></dt>
|
||||
<dd>2023년 2월 부안<span class="red bold">해양</span>경찰서 위도파출소장 업무추진비 집행내역입니다.</dd>
|
||||
<dd>해양경찰청 > 재정정보 > 업무추진비공개</dd>
|
||||
<dd>
|
||||
<b class="searchFileBtn openBul">· 첨부파일(1)</b>
|
||||
<div class="searchFileList">
|
||||
<a href="#">첨부파일 제목.hwp</a>
|
||||
</div>
|
||||
</dd>
|
||||
<dt>
|
||||
<th:block th:if="${board.menu_key ne 0}">
|
||||
[<th:block th:each="menu:${menuList}">
|
||||
<th:block th:if="${menu.menuKey eq board.menu_key}">
|
||||
<th:block th:if="${!#strings.isEmpty(menu.cat3Cd)}">
|
||||
<th:block th:each="code:${session.commonCode.get('CAT3')}">
|
||||
<th:block th:if="${menu.cat3Cd eq code.itemCd}" th:text="${code.itemValue}"></th:block>
|
||||
</th:block>
|
||||
</th:block>
|
||||
<th:block th:if="${!#strings.isEmpty(menu.cat2Cd) and #strings.isEmpty(menu.cat3Cd)}">
|
||||
<th:block th:each="code:${session.commonCode.get('CAT2')}">
|
||||
<th:block th:if="${menu.cat2Cd eq code.itemCd}" th:text="${code.itemValue}"></th:block>
|
||||
</th:block>
|
||||
</th:block>
|
||||
<th:block th:if="${!#strings.isEmpty(menu.cat1Cd) and #strings.isEmpty(menu.cat2Cd) and #strings.isEmpty(menu.cat3Cd)}">
|
||||
<th:block th:each="code:${session.commonCode.get('CAT1')}">
|
||||
<th:block th:if="${menu.cat1Cd eq code.itemCd}" th:text="${code.itemValue}"></th:block>
|
||||
</th:block>
|
||||
</th:block>
|
||||
</th:block>
|
||||
</th:block>]
|
||||
</th:block>
|
||||
<a href="#" th:text="${board.title1}"></a>
|
||||
<span class="titleDate" th:text="${#temporals.format(board.wrt_dt, 'yyyy-MM-dd HH:mm')}"></span>
|
||||
</dt>
|
||||
<dt th:if="${!#strings.isEmpty(board.title2)}"><a href="#" th:text="${board.title2}"></a></dt>
|
||||
<dd th:if="${!#strings.isEmpty(board.content1)}" th:utext="${board.content1}"></dd>
|
||||
<dd th:if="${!#strings.isEmpty(board.content2)}" th:utext="${board.content2}"></dd>
|
||||
<dd th:if="${!#strings.isEmpty(board.content3)}" th:utext="${board.content3}"></dd>
|
||||
<dd th:if="${!#strings.isEmpty(board.content4)}" th:utext="${board.content4}"></dd>
|
||||
<dd th:if="${!#strings.isEmpty(board.content5)}" th:utext="${board.content5}"></dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="optionView">
|
||||
<a href="#" class="plusView">더보기 +</a>
|
||||
<div class="optionView" th:if="${searchParams.activeTab eq 'all'}">
|
||||
<a href="#" class="plusView searchTabLink" data-activetab="board">더보기 +</a>
|
||||
</div>
|
||||
<div class="row justify-content-center" th:if="${searchParams.activeTab eq 'board'}">
|
||||
<div class="col-auto">
|
||||
<nav aria-label="Page navigation">
|
||||
<ul class="pagination mb-0">
|
||||
<th:block th:if="${searchParams.pageIndex>3}">
|
||||
<li class="page-item searchPage" th:data-pageindex="${(searchParams.pageIndex)-3}">
|
||||
<a class="page-link" href="#" aria-label="Previous">
|
||||
<span aria-hidden="true">«</span>
|
||||
</a>
|
||||
</li>
|
||||
</th:block>
|
||||
<th:block th:each="num : ${#numbers.sequence(searchParams.startNum, searchParams.endNum)}">
|
||||
<li class="page-item searchPage" th:data-pageindex="${num}" th:classappend="${searchParams.pageIndex eq num?'active':''}">
|
||||
<a class="page-link" href="#" th:text="${num}"></a>
|
||||
</li>
|
||||
</th:block>
|
||||
<th:block th:if="${searchParams.maxNum>searchParams.endNum+2}">
|
||||
<li class="page-item searchPage" th:data-pageindex="${(searchParams.pageIndex)+3}">
|
||||
<a class="page-link" href="#" aria-label="Next">
|
||||
<span aria-hidden="true">»</span>
|
||||
</a>
|
||||
</li>
|
||||
</th:block>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="searchDataListBox">
|
||||
<section class="searchDataListBox" th:if="${searchParams.activeTab eq 'all' or searchParams.activeTab eq 'file'}">
|
||||
<h3>첨부파일<span th:text="|${fileResult.totalCount}건|"></span></h3>
|
||||
<ul class="boardList boardFileList">
|
||||
<li>
|
||||
<li th:each="file:${fileResult.rowList}">
|
||||
<dl>
|
||||
<dt><a href="#">180731 <span class="red bold">해양</span>경찰 “지자체 해안방제 대응 역량 높인다”.hwp</a><span class="titleDate">2018.07.31</span><a href="#" class="downBtn">내려받기</a></dt>
|
||||
<dd>(화) 09:00 담당부서 기동방제과 담당과장 서기관 서정목 (044-205-2094/010-3942-1000) 담 당 자 사무관 김백제 (044-205-2296/010-9755-1327) <span class="red bold">해양</span>경찰 “지자체 해안방제 대응 역량 높인다” - 8월14일까지 지자체 대상 해안방제정책설명회 개최 - 해양경찰이 대규모 해양오염 사고 시.</dd>
|
||||
<dd>해양경찰청 > 새소식/알림 > 보도자료</dd>
|
||||
</dl>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<dl>
|
||||
<dt><a href="#">(0730)주문진 영진해변 파도에 외해로 떠밀리던 물놀이객 구조.hwp</a><span class="titleDate">2018.07.31</span><a href="#" class="downBtn">내려받기</a></dt>
|
||||
<dd>보 도 자 료 보도일시 배포 즉시 보도해 주시기 바랍니다. 총 1쪽(붙임 없음) 배포일시 2018.7.30.(월) 담당부서 속초<span class="red bold">해양</span>경찰서 기획운영과 담당과장 기획운영과장 경정 곽윤희(033-634-2212) 담 당 자 기획운영과 경사 홍상의(033-634-2212) 속초해경, 강릉 영진해변 물놀이객 구조해 -.</dd>
|
||||
<dd>속초해양경찰서 > 알림사항 > 보도자료</dd>
|
||||
</dl>
|
||||
</li>
|
||||
<li>
|
||||
<dl>
|
||||
<dt><a href="#">선박교통관제 시설관리규정(시행 18.4.2).hwp</a><span class="titleDate">2018.07.31</span><a href="#" class="downBtn">내려받기</a></dt>
|
||||
<dd>선박교통관제 시설관리규정 선박교통관제 시설관리규정 법제처 - / - 국가법령정보센터 [시행 2018. 4. 2.] [<span class="red bold">해양</span>경찰청훈령 제61호, 2018. 4. 2., 일부개정.] 해양경찰청(해상교통관제과) 044-205-2485 {전문} 제1조(목적) 이 규정은「선박의 입항 및 출항 등에 관한....</dd>
|
||||
<dd>해양경찰청 > VTS > 알림마당</dd>
|
||||
</dl>
|
||||
</li>
|
||||
<li>
|
||||
<dl>
|
||||
<dt><a href="#">선박교통관제 시설관리규정(시행 18.4.2).hwp</a><span class="titleDate">2018.07.31</span><a href="#" class="downBtn">내려받기</a></dt>
|
||||
<dd>선박교통관제 시설관리규정 선박교통관제 시설관리규정 법제처 - / - 국가법령정보센터 [시행 2018. 4. 2.] [<span class="red bold">해양</span>경찰청훈령 제61호, 2018. 4. 2., 일부개정.] 해양경찰청(해상교통관제과) 044-205-2485 {전문} 제1조(목적) 이 규정은「선박의 입항 및 출항 등에 관한....</dd>
|
||||
<dd>해양경찰청 > VTS > 알림마당</dd>
|
||||
<dt><a href="#" th:text="${#strings.concat(file.orig_nm, '.', file.file_extn)}"></a><a href="#" class="downBtn">내려받기</a></dt>
|
||||
<dd th:text="${file.file_content}"></dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="optionView">
|
||||
<!--<a href="#" class="plusView">더보기 +</a>-->
|
||||
<div class="optionView" th:if="${searchParams.activeTab eq 'all'}">
|
||||
<a href="#" class="plusView searchTabLink" data-activetab="file">더보기 +</a>
|
||||
</div>
|
||||
<div class="row justify-content-center" th:if="${searchParams.activeTab eq 'file'}">
|
||||
<div class="col-auto">
|
||||
<nav aria-label="Page navigation">
|
||||
<ul class="pagination mb-0">
|
||||
<th:block th:if="${searchParams.pageIndex>3}">
|
||||
<li class="page-item searchPage" th:data-pageindex="${(searchParams.pageIndex)-3}">
|
||||
<a class="page-link" href="#" aria-label="Previous">
|
||||
<span aria-hidden="true">«</span>
|
||||
</a>
|
||||
</li>
|
||||
</th:block>
|
||||
<th:block th:each="num : ${#numbers.sequence(searchParams.startNum, searchParams.endNum)}">
|
||||
<li class="page-item searchPage" th:data-pageindex="${num}" th:classappend="${searchParams.pageIndex eq num?'active':''}">
|
||||
<a class="page-link" href="#" th:text="${num}"></a>
|
||||
</li>
|
||||
</th:block>
|
||||
<th:block th:if="${searchParams.maxNum>searchParams.endNum+2}">
|
||||
<li class="page-item searchPage" th:data-pageindex="${(searchParams.pageIndex)+3}">
|
||||
<a class="page-link" href="#" aria-label="Next">
|
||||
<span aria-hidden="true">»</span>
|
||||
</a>
|
||||
</li>
|
||||
</th:block>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div class="popularSearchWord">
|
||||
<section>
|
||||
|
|
|
|||
Loading…
Reference in New Issue