- Spring Boot 쇼핑몰 프로젝트 진행중 상품 목록 페이지를 출력할 때 사용되는 T() 문법에 대한 기능 및 사용법에 대한 궁금증
StackOverflow
스택오버플로우 질문 및 답변
- 타임리프에서 POJO 정적 속성(변수)에 어떻게 접근하는지 물어보는 질문
- 스프링을 쓰고 있다면, 타임리프는 스프링이 제공하는 EL 표현식에 접근 가능하다고 답변
- 즉, 스프링을 사용하고 있을 때, Thymeleaf 에서 T() 를 사용하면 스프링 프로젝트 내에 존재하는 클래스에 접근할 수 있는 것으로 보임
SpringHow
스프링하우 문서
타임리프 표현식에서 클래스는 T(...) 를 사용하여 참조될 수 있다. Enum 클래스도 같은 규칙을 따른다.
표현식에서 Enum 클래스를 사용하기 위해서는 Enum 클래스의 "fully qualified name"을 지정해야한다.
- 타임리프에서 스프링의 Enum 클래스에 접근하기 위해서는 T() 문법을 이용하여 Enum 클래스의 "fully qualified name" 을 감싸면 됨
fully qualified name
위키피디아 문서
컴퓨터 프로그래밍에서 "fully qualified name" 은 호출의 컨텍스트에 상관없이 객체, 함수, 변수를 지칭하는 name이다.
name 이 fully qualified 하다는 것은
계층 구조에서 해당 요소 위에 존재하는 모든 계층 순서의 이름과 해당 요소를 포함한다는 의미다.
- 컨텍스트(기준) 없이 접근 가능해야 하므로 "fully qualified name" 을 아주 간단히 설명하면 절대경로라고 볼 수 있을 것 같다.
결론
- Spring 프로젝트에서 Thymeleaf 의 T("fully qualified class name") 표현식을 사용한다면 스프링 내에 존재하는 클래스에 접근할 수 있다.