본문 바로가기

십이지내장탕

삽질 - 스프링부트, Mustache 줄바꿈 표현하기

스프링 부트로 게시판을 만들 때, 본문 내용에는 줄바꿈이 들어간다.

 

로그를 찍어보면 입력 받을 때는 줄바꿈을 잘 반영하여 데이터를 받는다.

그런데 데이터베이스에는 한줄로 저장된다. 결국 저장하는 과정에서 줄바꿈(\n)이 무시되는 것 같다.

 

 

DB에 저장되어 있는 글의 enter 값을
태그로 변환

우선 원하는 값을 가져온다. String temp = request.getParameter("contents"); temp에는 textarea로 통해 입력된 모든 값이 들어가 있다. 이때 Enter 값은 \r\n으로 저장이 되어 있기 때문에 \r\n을 로만 바꾸어..

snoopy81.tistory.com

해결방법을 찾아보니 html에서는 엔터가 \r\n으로 입력되는 이것을 <br>태그로 바꿔주면 된다고 한다. 그러면 br태그가 포함된 문자열이 저장되고 html에서 표현될 때도 줄바꿈이 될 것이다.

 

예상과 다른 결과가 나왔다. 줄은 안바뀌고 <br>태그만 그대로 나왔다ㅋ. 소스를 보니 꺽쇠가 예상과 다르게 나왔다.

현재 방식은 컨트롤러에서 데이터를 가져오고 mustache에 전달해서 출력하는 것인데 이런 결과가 나온다.

오픈카톡방에서 질문한 결과, mustache 문법 때문에 그렇다고 한다.

taegon.kim/archives/4910

 

Mustache 템플릿 문법

Mustache는 제어 구조를 갖춘 것 중 (아마도) 가장 문법이 간단하고 (아마도) 가장 많은 언어로 포팅된 템플릿 엔진입니다. Mustache를 기반으로 이를 확장한 템플릿 엔진도 여럿 있는데 대표적으로는

taegon.kim

그래서 괄호를 2개가아닌 3개로 감싸니까 제대로 나왔다

 

 

교훈 : 에러를 잡으려면, 서비스 흐름대로 로그를 찍어보며 찬찬히 찾는 것이 빠른 길이다