오봉이와 함께하는 개발 블로그

스프링 MVC 2 - 타임리프 블록 본문

BE/Thymeleaf

스프링 MVC 2 - 타임리프 블록

오봉봉이 2022. 8. 17. 00:51
728x90

블록

<th:block>은 HTML 태그가 아닌 타임리프의 유일한 자체 태그다.

@GetMapping("/block")
public String block(Model model) {
    addUsers(model);
    return "basic/block";
}
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<th:block th:each="user : ${users}">
    <div>
        사용자 이름1 <span th:text="${user.username}"></span>
        사용자 나이1 <span th:text="${user.age}"></span>
    </div>
    <div>
        요약 <span th:text="${user.username} + ' / ' + ${user.age}"></span>
    </div>
</th:block>

</body>
</html>

결과

<div>
    사용자 이름1 <span>userA</span>
    사용자 나이1 <span>10</span>
</div>
<div>
    요약 <span>userA / 10</span>
</div>

<div>
    사용자 이름1 <span>userB</span>
    사용자 나이1 <span>20</span>
</div>
<div>
    요약 <span>userB / 20</span>
</div>

<div>
    사용자 이름1 <span>userC</span>
    사용자 나이1 <span>30</span>
</div>
<div>
    요약 <span>userC / 30</span>
</div>

설명

타임리프의 특성상 HTML 태그안에 속성으로 기능을 정의해서 사용한다.
하지만 HTMl 문서처럼 <div> 두 개를 한번에 묶어서 반복 출력하고 싶을 때
즉, 사용하기 애매한 경우 사용하면 된다.
th:block은 렌더링시 제거된다.

출처 : 인프런 김영한 지식공유자님 강의 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
728x90
Comments