summernote
라이브러리를 사용하여 입력 받습니다./board/saveForm 요청이 오면 template/board/saveForm.html 을 응답할 수 있도록 컨트롤러에 메서드를 생성하고 매핑해줍니다.
@GetMapping("/board/saveForm")
public String saveForm(){
return "board/saveForm";
}
글 작성 Form에서는 제목과 내용을 입력받고 버튼 클릭 시 api 요청을 보낼 것입니다.
내용 작성은 BootStrap5 환경에서 summernote
라이브러리를 사용하여 입력 받습니다.
<div class="container">
<form method="post">
<div class="mb-3 mt-3" style="margin-bottom: 1rem">
<label for="title" class="form-label">Title</label>
<input type="text" class="form-control" id="title" placeholder="Enter Title" name="title">
</div>
<div class="mb-3" style="margin-bottom: 1rem">
<label for="content" class="form-label">Content</label>
<textarea class="form-control summernote" rows="5" id="content" name="content"></textarea>
</div>
</form>
<button id="btn-save" class="btn btn-primary">글쓰기 완료</button>
</div>
<script src="<https://cdn.jsdelivr.net/npm/[email protected]/dist/summernote-lite.min.js>"
integrity="sha256-5slxYrL5Ct3mhMAp/dgnb5JSnTYMtkr4dHby34N10qw=" crossorigin="anonymous"></script>
<!-- language pack -->
<script src="<https://cdn.jsdelivr.net/npm/[email protected]/dist/lang/summernote-ko-KR.min.js>"
integrity="sha256-y2bkXLA0VKwUx5hwbBKnaboRThcu7YOFyuYarJbCnoQ=" crossorigin="anonymous"></script>
<script>
$('.summernote').summernote({
placeholder: 'Enter Content',
tabsize: 2,
height: 400,
lang: 'ko-KR', // default: 'en-US'
});
</script>
<script src="/js/board.js"></script>
btn-save(글쓰기 완료) 버튼을 클릭하면 board.js에 작성되어있는 코드가 실행됩니다.
부트스트랩5 환경에서의 섬머노트 사용법은 해당 포스팅을 활용하였습니다.