seong
(11)블로그만들기 Session 저장 공간 활용 - 검색 후 keyword,currentPage값 가져가기. 본문
Spring/블로그 만들기
(11)블로그만들기 Session 저장 공간 활용 - 검색 후 keyword,currentPage값 가져가기.
hyeonseong 2022. 9. 19. 11:04조건
- 사용자가 특정 키워드 검색 후 게시글을 클릭 했다.
- 게시글로 이동 했을 때 키워드와, 현재 페이지를 가지고 가야한다.
기존의 동작
검색을 하고 게시글을 눌렀을 때 keyword와, currentPage가 없어진다.
저 부분에 검색 keyword와 currentpage를 담아줘야한다.
Session의 영역
- 작성하기 앞서서 Session에 대해 알아야한다.
- Session영역은 간단하게 로그아웃 전 까지 남아있다.
시작
키워드와, 현재 페이지를 가져가기 위해선 PagingDto의 keyword,와 currentPage가 필요하다.
아래 코드로는 pagingDto가 request, reponse하면 없어진다.
Session을 사용해 keyword값,currentPage값을 가져가보자.
해시맵을 이용해 코드 작성
//게시글 목록 보기
@GetMapping({"/","/boards"})
public String getBoards(Model model,Integer page, String keyword) {
PagingDto pagingDto = boardsService.게시글목록보기(page, keyword);
Map<String,Object> referer = new HashMap<>();
referer.put("page",pagingDto.getCurrentPage());
referer.put("keyword",pagingDto.getKeyword());
session.setAttribute("referer", referer);
model.addAttribute("pagingDto", pagingDto);
return "/boards/main";
}
상세 보기 페이지에 코드 추가
<input id ="page" type = "hidden" value="${sessionScope.referer.page}">
<input id = "keyword" type = "hidden" value="${sessionScope.referer.keyword}">
js에 코드 추가 작성
function deleteBoard(){
let id = $("#id").val();
let page = $("#page").val();
let keyword = $("#keyword").val();
$.ajax("/boards/" + id, {
type: "DELETE",
dataType: "json"
}).done((res) => {
if (res.code == 1) {
location.href = "/?page="+page+"&keyword="+keyword; //?page=?&keyword=?
}
else {
alert("게시글 삭제 실패");
}
});
}
결과 확인
test검색 -> 게시글 클릭
keyword와 page가 잘 가져가졌다.
수정 전 코드는 삭제 하면 "/" 메인 페이지로 이동 하기 였지만
지금은 test검색 했던 페이지로 이동 된다.
'Spring > 블로그 만들기' 카테고리의 다른 글
블로그 만들기 기능 - 프론트에서 유효성 검사 Validation체크(한글,공백,이메일형식) (0) | 2022.09.21 |
---|---|
(13)블로그 만들기 웹에서 Interceptor 구현 (WebMvcConfigurer 사용) (2) | 2022.09.20 |
(10)블로그만들기 Ajax - boards 삭제,수정 만들기 (0) | 2022.09.17 |
(9)블로그만들기 - 쿠키에 저장 된 값 Request Header에 담아 가져가기(로그인) (0) | 2022.09.16 |
(8)블로그 만들기 Jquery 체크 박스 값 체크 하기, 쿠키 값 셋팅 해보기 (0) | 2022.09.16 |