@3/15/2023
줄바꿈 문제
게시글과 댓글의 줄바꿈이 저장 시 공백문자로 저장되어 HTML로 다시 렌더링 될 때 띄어쓰기 문자로 바뀌는 점 해결
해결 방법
•
<textarea> 태그로 보여주기 - 편집창을 띄워서 출력물을 보여주는 게 마음에 들지 않음
•
<pre> 태그로 보여주기 - 태그가 하나 더 감싸지는 게 마음에 들지 않음(JS 처리 등에도 번거로워짐)
•
Java단에서 String.replaceAll() 사용 - OS 개행문자가 다른데 모두 다 잘 먹힐지가 의문
◦
escaping도 해줘야 해서 복잡하다고 함
content = org.springframework.web.util.HtmlUtils.htmlEscape(content);
content = content.replaceAll("\n", "<br/>");
<div><c:out value="${content}" escapeXml="false" /></div>
Java
복사
•
white-space 스타일 사용
<div style="white-space:pre;"><c:out value="${content}" /></div>
Java
복사
◦
이게 제일 간단하고 마음에 듦. JS로 하면 아래처럼
$0.style.whiteSpace = 'pre-wrap’;
Java
복사
◦
본문 부분
<div th:text="${post.content}" class="row px-3"
style="white-space: pre-wrap">
본문 내용
</div>
Java
복사
◦
댓글 부분
<p th:text="${commentListDTO.content}" style="white-space: pre-wrap">댓글 내용</p>
Java
복사
•
적용 모습