[Thymeleaf] 상품목록 페이지 (0812)

왕감자·2024년 8월 12일

KB IT's Your Life

목록 보기
125/177

🤔 html 페이지를 보낼 때 매번 다른 데이터를 넣어서 하려면..?

템플릿 엔진 사용

  • 템플릿 엔진: 서버의 데이터를 html에 넣어주는 외부 라이브러리
    ex) Thymeleaf, JSP 등..

Thymeleaf 사용하기

1) 서버 API 함수의 파라미터에 Model model 넣기
2) model.attribute("이름", 전송할 데이터)
3) html태그에 th:text="${이름}"

@GetMapping("/list")
String list(Model model) {
	model.attribute("바뀔데이터", "치마");
    return "list.html";
}
<!--list.html-->
<body>
    <div>
        <img>
        <h4 th:text="${바뀔데이터}">바지</h4>
        <p>6억</p>
    </div>
</body>

HTML UI 재사용

th:fragment="작명"
th:replace="~{ html파일 :: 작명 }

Navbar를 공통적으로 쓰고 싶다면?

<!--nav.html-->
<div class="nav" th:fragment="navbar">
    <a class="logo">SpringMall</a>
    <a href="/list">List</a>
    <a href="/write">Write</a>
</div>
<!--list.html-->
<body>
    <div th:replace="~{ nav.html::navbar }"></div>
</body>

0개의 댓글