본문 바로가기

기타

뒤로가기시 페이징정보 저장 - 무난한 방법

가령


http://thiago6.tistory.com/boards라는 어떤 목록 페이지에서

133번 글을 상세보기 한 후,


뒤로가기시 이전의 페이징 정보를 기억해야 할 때가 있다.

ajax사용 유무에 따라 여러가지 방법이 있지만(앵커 등) get 방식으로 전달하는 방식이 무난하다.


http://thiago6.tistory.com/boards/133?page=3&type=1&searchWord=검색어&rgstDt=20190123102446

위와같이 상세페이지에 파라미터들을 전달한 후


해당 조건들을 받아주는 폼 페이지를 만들어 깔끔하게 구현할 수 있다.



Controller

/* 검색조건 유지를 위한 리스트 파라미터 전달 */
mv.addObject("listParam", StringUtil.queryStringt2Map(request.getQueryString()));


상세 페이지 - jsp:param을 사용해 jsp:include로 포함한 페이지에 파라미터 전달

<jsp:include page="/WEB-INF/jsp/common/inc/inc-listform.jsp">
<jsp:param name="actionUrl" value="/study" />
<jsp:param name="listParam" value="${listParam}" />
</jsp:include>


inc-listform.jsp 페이지

<form name="listForm" id="listForm" action="${param.actionUrl}" method="post">

<c:forEach var="item" items="${listParam}">
<input type="hidden" name="${item.key}" id="" value="${item.value}" />
</c:forEach>

</form>


목록 페이지

<!-- 검색 창 시작-->
<div class="form-group-attached search-box">
<input type="text" id="type" value="${param.type}">
<input type="text" id="searchWord" value="${param.searchWord}">
<input type="text" id="rgstDt" value="${param.rgstDt}">
...
...
... 기타 검색조건

<input id="page" name="page" value="${param.page}" type="hidden" >
</div>