Web/Thymeleaf
-
이번 포스트에서는 inline 형태로 Thymeleaf를 사용하는 방법에 대해 살펴보자. inline style inlie expression 기본적으로 Thyleleaf는 html 태그에 사용자 정의 속성을 이용해서 부가적인 기능을 추가한다. inline style은 사용자 정의 속성 없이 [[${...}]] 처럼 두 개의 대괄호 내에 표현식을 작성하는 방식이다. property 사용 attribute 사용 제목: [[#{home.title}]] 사용자: [[${user.name}]] 만약 [[]] 자체를 사용해야 하는 경우에는 th:inline="none"을 이용해서 escape 시켜줘야 한다. A double array looks like this: [[1, 2, 3], [4, 5]]! inline..
[Thymeleaf] 06. inline style이번 포스트에서는 inline 형태로 Thymeleaf를 사용하는 방법에 대해 살펴보자. inline style inlie expression 기본적으로 Thyleleaf는 html 태그에 사용자 정의 속성을 이용해서 부가적인 기능을 추가한다. inline style은 사용자 정의 속성 없이 [[${...}]] 처럼 두 개의 대괄호 내에 표현식을 작성하는 방식이다. property 사용 attribute 사용 제목: [[#{home.title}]] 사용자: [[${user.name}]] 만약 [[]] 자체를 사용해야 하는 경우에는 th:inline="none"을 이용해서 escape 시켜줘야 한다. A double array looks like this: [[1, 2, 3], [4, 5]]! inline..
2024.01.14 -
이번 포스트에서는 Thymeleaf에서 페이지의 레이아웃을 재사용하기 위한 thymeleaf-layout-dialect에 대해 살펴보자. 레이아웃 재사용 웹 페이지 레이아웃의 특징Thymeleaf에서는 th:fragment, th:insert, th:replace를 이용해서 페이지마다 반복되는 뷰 부분(fragment)을 모듈화 하고 재사용할 수 있었다. 웹 페이지를 작성하다 보면 이런 fragment 만 복되드는 것이 아니라 레이아웃도 반복되는 것을 쉽게 알 수 있다.위 그림을 보면 regist.html과 modify.html은 header+footer fragment에 각각의 content가 들어간 것을 알 수 있다. detail.html과 manage.html은 base-layout에 추가로 c..
[Thymeleaf] 05.레이아웃 재사용이번 포스트에서는 Thymeleaf에서 페이지의 레이아웃을 재사용하기 위한 thymeleaf-layout-dialect에 대해 살펴보자. 레이아웃 재사용 웹 페이지 레이아웃의 특징Thymeleaf에서는 th:fragment, th:insert, th:replace를 이용해서 페이지마다 반복되는 뷰 부분(fragment)을 모듈화 하고 재사용할 수 있었다. 웹 페이지를 작성하다 보면 이런 fragment 만 복되드는 것이 아니라 레이아웃도 반복되는 것을 쉽게 알 수 있다.위 그림을 보면 regist.html과 modify.html은 header+footer fragment에 각각의 content가 들어간 것을 알 수 있다. detail.html과 manage.html은 base-layout에 추가로 c..
2024.01.14 -
이번 포스트에서는 Thymeleaf에서의 layout 작성 방법에 대해 알아보자. Thymeleaf 레이아웃 th:fragment 일반적으로 웹 페이지들은 header, footer 등 반복적으로 등장하는 요소들을 가지며 이들을 매번 만들지 않고 fragment 같은 조각으로 만들어 놓고 재사용 한다. 이를 위해 Thymeleaf에서는 th:fragment를 사용한다. /src/main/resources/fragments 아래처럼 header.html과 footer.html을 만들어보자. header를 구성할 때는 각 페이지의 부제목(subtitle)을 파라미터로 전달받아서 사용하기 위해 header(subtitle)의 형태를 사용할 수 있다. Welcome To Thymeleaf Test Page 부제..
[Thymeleaf] 04. 레이아웃이번 포스트에서는 Thymeleaf에서의 layout 작성 방법에 대해 알아보자. Thymeleaf 레이아웃 th:fragment 일반적으로 웹 페이지들은 header, footer 등 반복적으로 등장하는 요소들을 가지며 이들을 매번 만들지 않고 fragment 같은 조각으로 만들어 놓고 재사용 한다. 이를 위해 Thymeleaf에서는 th:fragment를 사용한다. /src/main/resources/fragments 아래처럼 header.html과 footer.html을 만들어보자. header를 구성할 때는 각 페이지의 부제목(subtitle)을 파라미터로 전달받아서 사용하기 위해 header(subtitle)의 형태를 사용할 수 있다. Welcome To Thymeleaf Test Page 부제..
2023.12.14 -
이번 포스트에서는 Thymeleaf에서의 제어문에 대해 살펴보자. 반복문 th:each Thymeleaf에서 반복문을 사용하기 위해서는 th:each를 사용한다. 반복의 대상은 배열이나 Collection, Stream 등이 가능하다. 간단히 th:each="item, status: ${iterable}" 문장의 사용예를 보면서 사용법을 익혀보자. noidageaddr count name age addr th:each는 for-each 문장과 유사하게 iterable 한 요소를 하나씩 item으로 분리해서 사용한다. item은 다시 ctx의 속성으로 등록되므로 ${item} 형태로 사용할 수 있다. 상태 관리 옵션으로 사용되는 status는 반복도는 상황을 체크하기 위한 여러 속성이 제공된다. statu..
[Thymeleaf] 03. 제어문이번 포스트에서는 Thymeleaf에서의 제어문에 대해 살펴보자. 반복문 th:each Thymeleaf에서 반복문을 사용하기 위해서는 th:each를 사용한다. 반복의 대상은 배열이나 Collection, Stream 등이 가능하다. 간단히 th:each="item, status: ${iterable}" 문장의 사용예를 보면서 사용법을 익혀보자. noidageaddr count name age addr th:each는 for-each 문장과 유사하게 iterable 한 요소를 하나씩 item으로 분리해서 사용한다. item은 다시 ctx의 속성으로 등록되므로 ${item} 형태로 사용할 수 있다. 상태 관리 옵션으로 사용되는 status는 반복도는 상황을 체크하기 위한 여러 속성이 제공된다. statu..
2023.12.14 -
이번 포스트에서는 표준 표현식을 이용해서 값을 출력하는 방법에 대해 알아보자. 표준 표현식 th:textth:text는 메시지를 출력하기 위해 사용되는 속성이다.표현식설명th:text="'some text'"주어진 some text로 대체th:text="#{property}"message source에 설정된 property를 활용하며 일반적으로 국제화(i18N)을 지원하기 위해 사용th:text="${attribute}"request scope에 저장된 attribute를 출력th:text와 유사하게 th:utext (utext: unescaped text)도 사용할 수 있다. text는 html 태그가 escape 처리되서 그냥 단순 문자열로 처리된다. 반면 utext는 html 태그가 escap..
[Thymeleaf] 02. 표준 표현식이번 포스트에서는 표준 표현식을 이용해서 값을 출력하는 방법에 대해 알아보자. 표준 표현식 th:textth:text는 메시지를 출력하기 위해 사용되는 속성이다.표현식설명th:text="'some text'"주어진 some text로 대체th:text="#{property}"message source에 설정된 property를 활용하며 일반적으로 국제화(i18N)을 지원하기 위해 사용th:text="${attribute}"request scope에 저장된 attribute를 출력th:text와 유사하게 th:utext (utext: unescaped text)도 사용할 수 있다. text는 html 태그가 escape 처리되서 그냥 단순 문자열로 처리된다. 반면 utext는 html 태그가 escap..
2023.12.10 -
이번 포스트에서는 Thymeleaf의 특성과 기본적인 개발 환경설정에 대해 알아보자. Thymeleaf란? Good Bye JSP~그동안 자바 진영에서 Dynamic Web Application을 만들 때에는 MVC 디자인 패턴에서 Controller를 Servlet이 담당하고 View를 JSP가 담당하는 구조가 상당히 장기간 유지 되었다. Servlet의 위치는 여전히 확고하지만 JSP의 위치는 예전만 못하다.대부분 웹 애플리케이션이 가뜩이나 CSR 기반의 SpringBoot 앱으로 개발되는 과정에서 그렇잖아도 SSR용 템플릿 엔진의 사용이 줄어드는 추세인데 JSP가 SpringBoot의 추천 템플릿 엔진에서 제외되면서 이젠 쓰면 안되나보다 하는 인식이 점점 강해지게 되었다. JSP는 안되고 Thym..
[Thymeleaf] 01. Hello Thymeleaf이번 포스트에서는 Thymeleaf의 특성과 기본적인 개발 환경설정에 대해 알아보자. Thymeleaf란? Good Bye JSP~그동안 자바 진영에서 Dynamic Web Application을 만들 때에는 MVC 디자인 패턴에서 Controller를 Servlet이 담당하고 View를 JSP가 담당하는 구조가 상당히 장기간 유지 되었다. Servlet의 위치는 여전히 확고하지만 JSP의 위치는 예전만 못하다.대부분 웹 애플리케이션이 가뜩이나 CSR 기반의 SpringBoot 앱으로 개발되는 과정에서 그렇잖아도 SSR용 템플릿 엔진의 사용이 줄어드는 추세인데 JSP가 SpringBoot의 추천 템플릿 엔진에서 제외되면서 이젠 쓰면 안되나보다 하는 인식이 점점 강해지게 되었다. JSP는 안되고 Thym..
2023.12.09