Spring
스프링 MVC 2 - 반복
스프링 MVC 2 - 반복
2022.08.05반복 타임리프에서 반복운 th:each를 사용한다. 추가로 반복에서 사용할 수 있는 여러 상태 값을 지원한다. BasicController 추가 /resources/templates/basic/each.html 반복 기능 반복시 오른쪽 컬렉션(${users})의 값을 하나씩 꺼내서 왼쪽 변수(user)에 담아서 태그를 반복 실행한다. th:each는 List뿐만 아니라 배열, java.util.Iterable, java.util.Enumeration을 구현한 모든 객체를 반복에 사용할 수 있다. Map도 사용할 수 있는데 이 경우 변수에 담기는 값은 Map.Entry이다. 반복 상태 유지 반복의 두번째 파라미터를 설정해서 반복의 상태를 확인 할 수 있다. 두번째 파라미터는 생략 가능한데, 생략하면 지정한..
스프링 MVC 2 - 속성 값 설정
스프링 MVC 2 - 속성 값 설정
2022.08.04속성 값 설정 타임리프 태그 속성(Attribute) 타임리프는 주로 HTML 태그에 th:* 속성을 지정하는 방식으로 동작한다. th:*로 속성을 적용하면 기존 속성을 대체한다. 기존 속성이 없으면 새로 만든다. BasicController 추가 /resources/templates/basic/attribute.html 속성 설정 th:* 속성을 지정하면 타임리프는 기존 속성을 th:*로 지정한 속성으로 대체한다. 기존 속성이 없다면 새로 만든다. → 타임리프 랜더링 후 속성 추가 th:attrappend: 속성 값의 뒤에 값을 추가한다. th:attrprepend: 속성 값의 앞에 값을 추가한다. th:classappend: class 속성에 자연스럽게 추가한다. checked 처리 HTML에서는 →..
스프링 MVC 2 - 연산
스프링 MVC 2 - 연산
2022.08.04연산 타임리프 연산은 자바와 크게 다르지 않다. HTML 안에서 사용하기 때문에 HTML 엔티티를 사용하는 부분만 주의하자. BasicController 추가 /resources/templates/basic/operation.html 비교연산: HTML 엔티티를 사용해야 하는 부분을 주의하자. >(gt), = (ge),
스프링 MVC 2 - 리터럴
스프링 MVC 2 - 리터럴
2022.08.04리터럴 Literals 리터럴은 소스 코드상에 고정된 값을 말하는 용어이다. 예를 들어서 다음 코드에서 "Hello"는 문자 리터럴, 10, 20는 숫자 리터럴이다. String a = "Hello" int a = 10 * 20 참고 이 내용이 쉬워 보이지만 처음 타임리프를 사용하면 많이 실수하니 잘 봐두자. 타임리프는 다음과 같은 리터럴이 있다. 문자: 'hello' 숫자: 10 불린: true, false null, null 타임리프에서 문자 리터럴은 항상 '(작은 따옴표)로 감싸야 한다. 그런데 문자를 항상 '로 감싸는 것은 너무 귀찮은 일이다. 공백 없이 쭉 이어진다면 하나의 의미있는 토큰으로 인지해서 다음과 같이 작은 따옴표를 생략할 수 있다. 룰: A-Z, a-z, 0-9, [], ., -, ..
스프링 MVC 2 - URL 링크
스프링 MVC 2 - URL 링크
2022.08.04URL 링크 타임리프에서 URL을 생성할 때는 @{...} 문법을 사용하면 된다. BasicController 추가 /resources/templates/basic/link.html 단순한 URL @{/hello} → /hello 쿼리 파라미터 @{/hello(param1=${param1}, param2=${param2})} → /hello?param1=data1¶m2=data2 ()에 있는 부분은 쿼리 파라미터로 처리된다. 경로 변수 @{/hello/{param1}/{param2}(param1=${param1}, param2=${param2})} → /hello/data1/data2 URL 경로상에 변수가 있으면 () 부분은 경로 변수로 처리된다. 경로 변수 + 쿼리 파라미터 @{/hello/{..
스프링 MVC 2 - 유틸리티 객체와 날짜
스프링 MVC 2 - 유틸리티 객체와 날짜
2022.08.04유틸리티 객체와 날짜 타임리프는 문자, 숫자, 날짜, URI 등을 편리하게 다루는 다양한 유틸리티 객체들을 제공한다. 타임리프 유틸리티 객체들 #message : 메시지, 국제화 처리 #uris: URI 이스케이프 지원 #dates: java.util.Date 서식 지원 #calendars: java.util.Calendar 서식 지원 #temporals: 자바8 날짜 서식 지원 #numbers: 숫자 서식 지원 #strings: 문자 관련 편의 기능 #objects: 객체 관련 기능 제공 #bools: boolean 관련 기능 제공 #arrays: 배열 관련 기능 제공 #lists, #sets, #maps: 컬렉션 관련 기능 제공 #ids: 아이디 처리 관련 기능 제공, 뒤에서 설명 타임리프 유틸리티 ..