관리 메뉴

제뉴어리의 모든것

Controller에서 넘어온 데이터 뷰(HTML)에서 저장 해두었다가 script에서 사용하기 본문

HTML

Controller에서 넘어온 데이터 뷰(HTML)에서 저장 해두었다가 script에서 사용하기

제뉴어리맨 2021. 1. 19. 16:09

Controller에는 아래와 같은 코드가 있고, 주목할것은 @ModelAttribute("requestDTO") 부분이다

  @PostMapping("/modify")
    public String modify(GuestbookDTO dto, @ModelAttribute("requestDTO") PageRequestDTO requestDTO, RedirectAttributes redirectAttributes)
    {
        log.info("post modify........");
        log.info("dto : " + dto);
        log.info("requestDTO : " + requestDTO);

        service.modify(dto);

        redirectAttributes.addAttribute("page", requestDTO.getPage());
        redirectAttributes.addAttribute("gno", dto.getGno());

        return "redirect:/guestbook/read";
    }

requestDTO라는 이름으로 정의하여 페이지 호출시 전달받은 데이터들을 자동으로 View에게 전달해준다.

 

그리고 View(HTML문서)에서 아래와 같이 페이지엔 보이지 않게 저장을 해두었다가 

 

<input type="hidden" name="page" th:value="${requestDTO.page}">

 

View하단 script 안에서

 

$(".listBtn").click(function (){

var pageInfo = $("input[name='page']");
actionForm.empty();
actionForm.append(pageInfo);
actionForm.attr("action", "/guestbook/list").attr("method", "get");

console.log(actionForm.html());
//actionForm.submit();
});

 

이런식으로 꺼내서 쓴다.