728x90
spring framework 의 java controller 에서 리턴페이지를 지정해 줄 때 특정 id 영역만 변경하게 할 수 있습니다.
예를 들면 리스트페이지에서 검색 버튼을 클릭 하면 리스트영역만 변경되고 다른 검색조건의 영역은 리플레쉬 하고 싶지 않을 때
활용할 수 있습니다.
- @GetMapping({"/edu200/edu200100", "/edu200/edu200100/srch"}) 으로 2개의 url 이 같은 메소드로 매핑되게 합니다. 첫번째는 페이지 최초 로드시 호출할 url 이고 두번째 url 은 호출된 페이지에서 검색버튼을 클릭했을 때 호출할 url 입니다.
- String requestUrl = (String)request.getAttribute(HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE); 로 접근한 url 이 어떤 url 인치 체크를 합니다.
- mav = new ModelAndView("EDU/EDU200/EDU200100 :: #container_tbl_trnSrchList"); 로 'container_tbl_trnSrchList' id 값을 갖는 영역만 새로 호출한 정보로 변경 됩니다.
@GetMapping({"/edu200/edu200100", "/edu200/edu200100/srch"})
public ModelAndView getRglrTrnInfrList(HttpServletRequest request, RglrTrnMgntSrchDto srchDto, Locale locale){
String requestUrl = (String)request.getAttribute(HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE);
ModelAndView mav = new ModelAndView("EDU/EDU200/EDU200100");
if(requestUrl.indexOf("/edu200100/srch") > -1 ) {
mav = new ModelAndView("EDU/EDU200/EDU200100 :: #container_tbl_trnSrchList");
}
...
...
로직구현
...
...
return mav;
}
▶ 3개의 div 중 id 값이 container_tbl_trnSrchList 인 div 만 변경이 되고 나머지 영역은 변경되지 않고 그대로 유지됩니다.
<!DOCTYPE html>
<html>
<head></head>
<body>
<div id="container_tbl_trnSrchList">
</div>
<div id="container_tbl_trnSrchList2">
</div>
<div id="container_tbl_trnSrchList3">
</div>
</body>
<section layout:fragment="script">
<script th:inline="javascript">
$(document).ready(function () {
const form = $("#trnSrchFrm")[0];
const formData = new FormData(form);
cmAjax({
url: "/edu/edu200/edu200100/srch"
, type: "get"
, data: new URLSearchParams(formData).toString()
, dataType: "html"
, async: false
, success: function (fragment) {
$('#container_tbl_trnSrchList').replaceWith(fragment);
}
, error: function (e) {
alert(e);
return false;
}
});
</script>
</section>
</html>
LIST
'Develop' 카테고리의 다른 글
[javascript] jquery selector 선택자 like 로 찾기 (10) | 2024.09.10 |
---|---|
[Javascript] 스크롤 div 밑에 영역 감지해서 이벤트 발생시키기 (19) | 2024.09.06 |
[Mybatis] PK 를 count 혹은 max 쿼리로 생성 후 리턴받기 (16) | 2024.09.03 |
[Mybatis] 반복되는 같은 쿼리 sql 로 정의해서 include 해서 변수처럼 사용하기 (3) | 2024.09.03 |
[Javascript] html 테이블을 엑셀 다운로드 하기 (2) | 2024.08.30 |