8. 스프링부트와 타임리프로 게시판 만들기 - 등록, 수정 처리 메시지 띄우기

yeom yaloo·2022년 7월 19일
0
post-thumbnail

등록과 수정시에 처리가 완료되었다는 메시지를 띄워보자


해당 메시지 출력을 위한 뷰 페이지 생성

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">

<head>
    <meta charset="UTF-8">
    <title>메시지 창</title>
</head>
<body>

<script th:inline="javascript">
    /*<![CDATA[*/
    var message = [[${message}]]
    alert(message);
    location.replace([[${searchUrl}]]);
    /*]]>*/
</script>
</body>
</html>
  • 메시지를 띄우기 위해서 js 문법을 쓸 예정인데, 이때 타임리프는 위와 같이 js문법을 사용하도록 지원합니다.
  • message로 넘어오는 데이터를 변수 message에 넣어주고 해당 메시지를 js alert 창에 담아서 출력해줍니다.

컨트롤러

    @PostMapping("/board/writepro")
    public String boardWritePro(Board board,Model model){

        boardService.write(board);

        model.addAttribute("message", "글 작성이 완료되었습니다.");
        model.addAttribute("searchUrl", "/board/list");

        return "message";
    }
  • 해당 컨트롤러의 리턴 값을 기존 boardlist가 아닌 message로 넘겨주어 해당 데이터로 글 작성이 성공했으면 성공했다는 메시지를 보여준다.
  • 이때 if ~ else문을 통해서 해당 조건을 설정해 글 작성이 실패한 경우도 설정해줄 수 있다.(이는 나중에 해볼 예정)
  • 해당 글 작성이 완료 했다면 /board/list로 리다이렉트 해주는데 이는 뷰페이지에서 location.replace([[${searchUrl}]]);로 처리해주었다.
  • 이때 원한다면 업데이트 컨트롤러를 위와 같이 설정해주면 수정시에도 같이 메시지를 띄울 수 있게 됩니다.

[생성한 message 데이터를 변수로 저장한 뒤 alter로 띄우기]

profile
즐겁고 괴로운 개발😎

0개의 댓글