개발 등/Thymeleaf 8

타임리프(Thymeleaf) 선택 표현식 (입력 폼)

선택표현식은 th:object에 선언된 객체에 접근할 수 있는 기능으로 *{변수명} 을 사용할 수 있다. 사용법 • th:object : 서버에서 전달된 객체. • *{변수명} : th:object 객체에 선언된 객체 내부 변수를 탐색. • th:filed="*{변수명}" : 이렇게 선언하면 id, name, value 속성을 타임리프가 자동으로 렌더링한다. Controller model.addAttribute("user", user); View

타임리프(Thymeleaf) 템플릿 조각

headers, footers, menus 등 공통으로 사용할 다른 템플릿 파일의 코드 조각들을 재사용. 이를 사용하기 위해서는 th:fragment="NAME" 속성에 이름을 명시하면 템플릿 조각이 된다. 호출할 때는 크게 th:insert="~{경로 포함된 파일명 :: 파일명에 정의된 속성명[(파라미터 목록)]}" 으로 호출해서 사용 예) th:insert="~{teamplate/fragments/header :: common_header('PARAM1', 'PARAM2')} /template/base.html 위의 코드 조각을 사용할 템플릿 파일에서는 다음과 같이 하면 된다. 단순표현식 ~{...} 를 사용하는 것이 원칙이지만 코드 단순화를 위해 생략할 수 있음 위 두 코드는 동일하게 해석된다 th..

타임리프(Thymeleaf) 반복문

반복문 (th:each="변수[, 상태변수] : ${콜렉션객체}") 상태변수의 속성. 다른 속성은 직관적으로 알 수 있고, current 데이터가 조금 낯선데 이건 설명처럼 변수와 같은 속성이다. 그래서 변수와 비교하면 true가 나온다. The current iteration index, starting with 0. This is the index property. The current iteration index, starting with 1. This is the count property. The total amount of elements in the iterated variable. This is the size property. The iter variable for each iterati..

타임리프(Thymeleaf) 주석 처리

1. 타임리프 파서-레벨 주석 블록 - - 코드 블록 - 타임리프가 파싱될 때 제거되는 코드 블록을 의미 you can see me only before Thymeleaf processes me! 2. 타임리프 프로토타입 주석 - - 타임리프가 파싱시스템에 의해 파싱된 후의 정적 콘텐츠는 보여지지만, HTML 파일 자체의 소스에서는 주석처리된다. 이 부분을 HTML 화면에서는 볼 수 없지만, 페이지 호출 후 렌더링이 끝난 소스에서는 볼 수 있다.

타임리프(Thymeleaf) 문법

* URL 링크 표현식 (@{링크}) th:href="@{URL_LINK}" * 리터럴 대체 (|문자열|) - 문자와 표현식 등의 분리된 형태를 리터럴 대체 문법을 이용해 간단하게 처리 th:text="'Hello '" + ${user.name} + '!'" th:text="|Hello ${user.name}!|" * 변수 표현식 (${변수명}) - 모델객체에 포함된 변수나 타임리프 변수를 조회 th:text="${user.age}" * 외부 자원 표현식 (#{변수명}) - 메시지, 프라퍼티 등 외부 자원의 데이터 표시 th:text="#{msg.reg.success}" * 기본 객체들 #ctx: the context object. #vars: the context variables. #locale: t..

타임리프(Thymeleaf) 정리

공식 문서에 설명된 타임리프의 정의에 따르면 타임리프란 웹과 독립형 환경을 위한 서버 사이드 자바 템플릿 엔진으로 HTML, XML, 자바 스크립트, CSS 및 일반 텍스트를 처리 할 수 있습니다. 타임리프의 주요 목표는 템플릿을 만드는 우아하고 유지 관리가 쉬운 방법을 제공하는 것입니다. 이를 위해 순수 템플릿(Natural Templates)의 개념을 기반으로 템플릿이 디자인 프로토타입으로 사용되는 데 영향을 주지 않는 방식으로 템플릿 파일에 로직을 주입합니다. 이는 설계 커뮤니케이션을 개선하고 설계 팀과 개발 팀 간의 격차를 해소합니다. 타임리프는 처음부터 웹 표준, 특히 HTML5를 염두에두고 설계되었으므로 필요한 경우 완전히 검증된 템플릿을 만들 수 있습니다. 서버 사이드가 정상 작동하면 동적으..