등록과 수정시에 처리가 완료되었다는 메시지를 띄워보자
해당 메시지 출력을 위한 뷰 페이지 생성
<!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로 띄우기]
