Spring/Spring MVC
-
Spring MVC - 타임리프(Thymeleaf) 반복 기능(th:each), 조건부 기능(th:if, th:unless, th:switch)Spring/Spring MVC 2022. 2. 3. 10:29
타임리프(Thymeleaf) 반복 기능 타임리프에서 반복은 th:each를 사용하며 반복에서 사용할 수 있는 여러 상태 값을 지원한다. 반복 기능 th:each="변수 : 컬렉션" List, 배열, Iterable, Enumeration을 구현한 모든 객체를 반복에 사용 가능 Map의 경우는 Map.Entry가 변수에 담긴다. User 객체가 3개 저장된 List 컬렉션의 반복 username 0 서버를 가동시켜 웹브라우저에서 HTML의 소스 코드를 보면 다음과 같다. userA 10 userB 20 userC 30 반복 사용되는 여러 상태 값 th:each="변수, 상태변수 : 컬렉션" 자바의 for-each와 비슷하다 두 번째 파라미터를 설정하여 반복의 상태를 확인할 수 있다. 반복 상태를 나타내 주..
-
Spring MVC - 타임리프(Thymeleaf) 리터럴과 연산Spring/Spring MVC 2022. 2. 2. 21:26
리터럴 리터럴은 소스 코드상에서 고정된 값을 말한다. String a = "Hello" int a = 10 * 20 위 코드에서 "Hello"는 문자 리터럴, 10, 20은 숫자 리터럴이다. 타임리프 문자 리터럴 문자 리터럴 문자 리터럴은 항상 '(작은 따옴표)로 감싸야 한다. 공백 없는 문자 리터럴은 하나의 토큰으로 인지되어 작은 따옴표 생략 가능하다 "hello" -> 작은 따옴표 생략 가능, "hello world" -> 작은 따옴표 생략 불가능 'hello' + ' world!' = 'hello world!' = 'hello ' + ${data} = 서버를 가동시켜 웹브라우저에서 HTML의 소스 코드를 보면 다음과 같다. 'hello' + ' world!' = hello world! 'hello ..
-
Spring MVC - 타임리프(Thymeleaf) URL 링크 표현식Spring/Spring MVC 2022. 2. 2. 19:42
타임리프(Thymeleaf) URL 링크 표현식 타임리프에서 URL을 표현할 때는 @{ 링크 } 표현식을 사용하면 된다. @{/....} : 절대 경로, ex) @{/hello} @{ ... } : 상대 경로, ex) @{hello} 단순 URL @{/hello} -> /hello ex) 단순 URL 쿼리 파라미터를 포함한 URL @{/hello(param1=${param1}, param2=${param2})} -> /hello?param1=data1¶m2=data2 ex) 쿼리 파라미터 포함 URL 경로 변수가 포함된 URL @{/hello/{param1}/{param2}(param1=${param1}, param2=${param2})} -> /hello/data1/data2 ex) 경로 변..
-
Spring MVC - 타임리프(Thymeleaf) 유틸리티 객체(문자, 숫자, 날짜, URI), 날짜 유틸리티 객체(#temporals)Spring/Spring MVC 2022. 2. 2. 19:15
타임리프(Thymeleaf) 유틸리티 객체(문자, 숫자, 날짜, URI) 타임리프는 문자, 숫자, 날짜, URI 등을 편리하게 다루기 위한 다양한 유틸리티 객체들을 제공한다. 유틸리티 객체 설명 #message 메시지, 국제화 관리 #uris URI 이스케이프 지원 #dates java.util.Date 서식 지원 #calendars java.util.Calendar 서식 지원 #temporals 자바 8 날짜 서식 지원 #numbers 숫자 서식 지원 #strings 문자 관련 편의 기능 #objects 객체 관련 기능 제공 #bools boolean 관련 기능 제공 #arrays 배열 관련 기능 제공 #lists, #sets, #maps 컬렉션 관련 기능 제공 #ids 아이디 처리 관련 기능 제공 더..
-
Spring MVC - 타임리프(Thymeleaf)가 제공하는 기본 객체와 편의 객체Spring/Spring MVC 2022. 2. 2. 18:38
타임리프(Thymeleaf)가 제공하는 기본 객체와 편의 객체 기본 객체 : request, response, session, servletContext, locale 편의 객체 : param, session, @ 타임리프(Thymeleaf)가 제공하는 기본 객체들 타임리프는 개발자가 편리하게 개발할 수 있도록 기본 객체들을 제공한다. #request #response #session #servletContext #locale request = response = session = servletContext = locale = 서버를 가동시켜 웹브라우저에서 HTML의 소스 코드를 보면 다음과 같다. request = org.apache.catalina.connector.RequestFacade@5d39e..
-
Spring MVC - 타임리프(Thymeleaf) 기본 기능 1(텍스트, 변수 표현식, 지역 변수)Spring/Spring MVC 2022. 2. 2. 17:06
타임리프(Thymeleaf) 기본 기능 1(텍스트, 변수) 타임리프의 기본 기능들을 알아보자. 우선 타임리프를 사용하기 위해선 html 태그에 다음과 같이 추가한다. 텍스트 - text, utext th:text, [[....]] 기본적인 HTML 태그의 속성은 타임리프가 사용할 수 있다. HTML 태그 속성 앞에 th: 만 붙여주면 타임리프를 사용할 수 있으며 동적 HTML으로 렌더링 할 때 th:속성으로 화면을 구성해 준다. HTML 태그의 속성이 아닌 HTML 콘텐츠 영역안에서 직접 데이터를 출력하는 방법은 [[...]] 사용하면 된다. th:text 사용 컨텐츠 안에서 직접 출력하기 = [[${data}]] 서버를 가동시켜 해당 HTML의 소스 코드를 보면 다음과 같이 변경이 된다. th:text..
-
Spring MVC - 타임리프(Thymeleaf)에 대한 간단한 정리Spring/Spring MVC 2022. 1. 31. 23:01
더보기 타임리프 메뉴얼 기본 메뉴얼 https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html Tutorial: Using Thymeleaf 1 Introducing Thymeleaf 1.1 What is Thymeleaf? Thymeleaf is a modern server-side Java template engine for both web and standalone environments, capable of processing HTML, XML, JavaScript, CSS and even plain text. The main goal of Thymeleaf is to provide a www.thymeleaf.org 스프링 통합 메뉴얼 ht..
-
Spring MVC - HTTP 메시지 컨버터Spring/Spring MVC 2022. 1. 30. 14:05
HTTP 메시지 컨버터 HTTP 메시지 컨버터는 메시지 바디의 데이터 타입에 따라 데이터를 조회하거나 반환할 수 있다. 인터페이스로 구현되어 있으며 Byte, String, JSON 등 여러 타입의 데이터들을 HTTP 메시지 컨버터를 통해 요청 메시지 바디에 있는 데이터들을 조회하여 로직을 처리한 후 클라이언트가 필요한 데이터 타입으로 HTTP 메시지 컨버터를 통해 변환 후 변환된 타입으로 컨트롤러에 전송한다. HTTP 요청 메시지 읽기 요청 메시지가 오면 메시지 컨버터가 메시지를 읽을 수 있는지 확인하기 위해 canRead() 호출 - canRead : 대상 클래스 타입, content-type을 확인하여 해당 메시지 컨버터 실행 canRead() 조건을 만족하면 read()를 호출하여 객체 생성 및 ..