진이최고다 2023. 4. 3. 14:16

Thymeleaf 주석

Thymeleaf는 HTML 주석과 Thymeleaf 주석 유형의 주석을 지원합니다.
템플릿 내부의 코드나 로직을 주석 처리하거나 특정 코드 블록을 임시로 비활성화 할 때 사용되며. Thymeleaf 주석은 다음예제와 같은 형식으로 작성된다.


예제

Controller

    @GetMapping("/comments")
    public String comments(Model model){
        model.addAttribute("data", "Spring");

        return "basic/comments";
    }

View

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
<h1>예시</h1>
<span th:text="${data}">html data</span>
<h1>1. 표준 HTML 주석</h1>
<!--
<span th:text="${data}">html data</span>
-->
<h1>2. 타임리프 파서 주석</h1>
<!--/* [[${data}]] */-->
<!--/*-->
<span th:text="${data}">html data</span>
<!--*/-->
<h1>3. 타임리프 프로토타입 주석</h1>
<!--/*/
<span th:text="${data}">html data</span>
/*/-->
</body>
</html>


 

✏️표준 HTML 주석

자바스크립트의 표준 HTML 주석은 타임리프가 렌더링 하지 않고, 그대로 남겨둔다.

 

✏️타임리프 파서 주석

타임리프 파서 주석은 타임리프의 진짜 주석이다. 렌더링에서 주석 부분을 제거한다.

 

✏️타임리프 프로토타입 주석

타임리프 프로토타입은 약간 특이한데, HTML 주석에 약간의 구문을 더했다.

HTML 파일을 웹 브라우저에서 그대로 열어보면 HTML 주석이기 때문에 이 부분이 웹 브라우저가 렌더링하지 않는다.

타임리프 렌더링을 거치면 이 부분이 정상 렌더링 된다. 쉽게 이야기해서 HTML 파일을 그대로 열어보면 주석처리가 되지만, 타임리프를 렌더링 한 경우에만 보이는 기능이다.

 

주석 내에 작성된 코드는 Thymeleaf에서 무시되며, 브라우저에서도 출력되지 않는다.
이는 주로 디버깅 목적으로 사용되며, 템플릿 내부의 코드를 일시적으로 비활성화 할 때 유용하다.

 

 

인프런 김영한님의 Sping강의 기반으로 공부한 것을 작성한 블로그입니다.
출처 : 인프런 -🔗 스프링 MVC 1편  by 우아한형제 김영한이사님