728x90
[문제 해결 목표]
게시글 내용이 "\n"에 대해 줄바꿈 되어 출력되어야 한다.
[사전 데이터 입력]
이와 같이 줄바꿈("\n")이 포함된 게시글 내용을 입력한다.
[문제 상황]
게시글 내용에서 줄바꿈이 적용되지 않는다.
[해결방법]
1. 게시글 내용(lyric)에서 줄바꿈을 html 파일에서 적용가능하도록 바꾼다.
"\n" -> "<br>"
2. Thymeleaf 뷰 템플릿 수정 (th:text -> th:utext)
※ 'th:text' 와 'th:utext'는 어떤 차이점이 있는 것일까?
'th:text'는 Escaped Text로서, HTML escape 처리를 하여 텍스트를 처리한다.
'th:utext'는 Unescaped Text로서, HTML escape 처리를 하지 않고 텍스트를 처리한다.
- HTML escape 는 XSS(Cross-Site Scripting) 을 방지하기 위해서 필요하다.
사용자가 입력한 텍스트가 그대로 처리하게 되는 경우, 사용자가 텍스트에 <script>와 같은 코드를 입력하고 이것이 그대로 렌더링되어, 브라우저가 이를 HTML이나 스크립트로 해석해 악성 코드가 실행될 수 있다. 이를 방지하기 위해 HTML 이스케이프를 적용해 해당 코드를 단순한 텍스트로 처리해야 한다.
[결과 화면]
결과 화면을 보면 노래 가사 속 줄바꿈이 온전히 구현된 것을 확인할 수 있다.
728x90
'PROJECT > [SpringBoot] 게시판 서비스' 카테고리의 다른 글
[Spring Boot - 게시판 서비스] #1. 로그인 / 회원가입 구현 (0) | 2024.10.13 |
---|---|
[Spring Boot - 게시판 서비스] #0. 프로젝트 생성 및 환경설정 (+Github 동기화) (1) | 2024.10.11 |
[게시판 서비스] 회원 탈퇴시, 게시글 / 댓글 처리 (0) | 2024.06.02 |
[게시판 서비스] 게시글 키워드 검색 + 정렬 + 페이징 기능 구현 (0) | 2024.06.02 |
[게시판 서비스] 게시글 페이징 처리 구현 (0) | 2024.06.02 |