23-08-17 TIL

more·2023년 8월 17일
0

문제

  • thymeleaf로 뷰 환경을 사용하고 있는데, 백엔드에서 html로 넘겨준 정보를 줄 별로 나타내고 싶었다.
    • 예를 들면 "안녕하세요." , "반갑습니다." 가 각각 다른 첫째줄과 둘째줄인데 이것을 html에서 나타낼 방법을 찾고 있다.
    • thymeleaf에서 반복문으로 사용할 수 있는지...

시도

  • 넘긴 정보는 product, 하나의 인스턴스이고 거기에 담긴 정보는 id, cost, title, imageURL, description.. 등등이다.
    • 원하는 데이터는 description을 한 줄 씩 보여주는 것이다.
    • thymeleaf의 문법 중에 each라는 것과 item이라는 것을 발견하였다.
    • 예를 들어, th:each="item : ${product.description.split('\n')}" 이런 식으로 나타낸다면 product의 description을 줄바꿈으로 나누고, 그 나눈 각각을 item이라 말한다.
    • 따라서 "안녕하세요."가 한 item, "반갑습니다."가 한 item인 셈
    • 그러면 해당 item을 출력하는 방법은 어떻게 되는가? 라는 문제가 나타났다.

해결

  • 해당 문제는 [[${item}]] 이렇게 나타내면 출력할 수 있었다.
    • 이를 코드로 나타내면 아래와 같다.
    <ul>
      <li th:each="item : ${product.description.split('\n')}">[[${item}]]</li>
    </ul>
    • 이렇게 하면 내가 뭔하는 product.description을 한 줄씩 출력 가능하다.
profile
조금 더

0개의 댓글