개발자의 끄적끄적

[thymeleaf] 타임리프 newline 개행 처리 방법 본문

개발/thymeleaf

[thymeleaf] 타임리프 newline 개행 처리 방법

효벨 2021. 2. 26. 03:00
728x90
반응형

[thymeleaf] 타임리프 newline 개행 처리 방법

 

 

스프링부트 타임리프에서

 

입력받았던 content 를 줄바꿈을 적용해서 하려면

 

아래와 같이 사용하면 됩니다.

th:utext="${#strings.replace(content, T(System).getProperty('line.separator'), '<br />')}"

하지만,

 

위 방법으로 했는데도 불구하고 에러가 나는 경우가 있습니다.

 

T(System).getProperty('line.separator') 이 부분때문에 에러가 나는건데요,

 

이걸 controller 단에서 변수로 받아와서 처리하면 에러없이 깔끔하게 처리됩니다.

 

아래는 controller 소스 입니다.

//controller
val nlString = System.getProperty("line.separator").toString()
val view = ModelAndView("page name")
view.addObject("nlString", nlString)

위 내용 보시면 아시겠지만,

 

시스템 변수중 줄바꿈에 해당되는 line.separator 를 문자열 형태로 받아서

 

nlString 라는 변수에 담아주고

 

그걸 ModelAndVie 에 담아서 페이지로 넘기면 됩니다.

th:utext="${#strings.replace(content, nlString, '<br />')}"

controller 에서 넘겨받은 변수를 가지고  위 내용처럼 대입해서

 

치환되도록 사용하시면 됩니다.

 

참고들 하세요!

반응형
Comments