본문 바로가기

Etc21

Thymeleaf - 속성 값 설정 타임리프 태그 속성(Attribute) 타임리프는 주로 HTML 태그에 th:* 속성을 지정하는 방식으로 동작한다. th:* 로 속성을 적용하면 기존 속성을 대체 한다. 기존 속성이 만약 없다면 새로 만든다. 바로 코드로 살펴보자. BasicController @GetMapping("/attribute") public String attribute(){ return "basic/attribute"; } basic.attribute.html 속성 설정 속성 추가 - th:attrappend = - th:attrprepend = - th:classappend = checked 처리 - checked o - checked x - checked=false 속성 설정 th:* 속성을 지정하면 타임리프는 기존 속성.. 2023. 7. 25.
Thymeleaf - 연산 타임리프에서는 기본적인 연산을 지원한다. 연산은 간단하기 때문에 바로 코드를 참고하자. BasicController @GetMapping("/operation") public String operation(Model model){ model.addAttribute("nullData", null); model.addAttribute("data", "Spring!"); return "basic/operation"; } basic/operation.html 산술 연산 10 + 2 = 10 % 2 == 0 = 비교 연산 1 > 10 = 1 gt 10 = 1 >= 10 = 1 ge 10 = 1 == 10 = 1 != 10 = 조건식 (10 % 2 == 0)? '짝수':'홀수' = Elvis 연산자 ${data}?.. 2023. 7. 25.
Thymeleaf - 리터럴(Literals) 리터럴은 소스 코드상에 고정된 값을 말하는 용어이다. 예를 들어서 다음 코드에서 "Hello"는 문자 리터럴, 10,20은 숫자 리터럴이다. String a = "Hello"; int a = 10 * 20; 타임리프의 리터럴 문자 : 'hello' 숫자 : 10 불린 : true, false null : null 타임리프에서 문자 리터럴은 항상 ''(작은 따옴표)로 감싸야 한다. 예시) 하지만, 문자를 항상 '로 감싸는 것은 너무 귀찮은 일이다. 이를 어느정도 해소해주기 위해 타임리프에서는 공백 없이 쭉 이어지는 문자열은 하나의 의미있는 토큰으로 인지해서 다음과 같이 작은 따옴표를 생략할 수 있다. Rule : A-Z, a-z, 0-9, [], . , -, _ 하지만 아래와 같이 중간에 공백이 있는 경우.. 2023. 7. 25.
Thymeleaf - URL 링크 사용하기 타임리프에서 URL을 생성할 때는 @{...} 문법을 사용하면 된다. BasicController @GetMapping("/link") public String link(Model model){ model.addAttribute("param1", "data1"); model.addAttribute("param2", "data2"); return "basic/link"; } basic/link.html URL 링크 basic url hello query param path variable path variable + query parameter 위의 코드는 타임리프에서 URL을 사용하는 방법 예시이다. 코드를 참조하여, 아래의 설명을 확인하자. 단순 URL @{/hello} -> /hello 쿼리 파라미터.. 2023. 7. 25.
Thymeleaf - 유틸리티 객체와 날짜 타임리프는 문자, 숫자, 날짜, URI등을 편리하게 다루는 다양한 유틸리티 객체들을 제공한다. 타임리프 유틸리티 객체 #message : 메시지, 국제화 처리 #uris : URI 이스케이프 지원 #dates : java.util.Date 서식 지원 #calendars : java.util.Calendar 서식 지원 #temporals : 자바 8 날짜 서식 지원 #numbers : 숫자 서식 지원 #strings : 문자 관련 편의 기능 #objects : 객체 관련 기능 제공 #bools : boolean 관련 기능 제공 #arrays : 배열 관련 기능 제공 #lists, #sets, #maps : 컬렉션 관련 기능 제공 #ids : 아이디 처리 관련 기능 제공 타임리프 유틸리티 객체 공식 문서 h.. 2023. 7. 24.
Thymeleaf - 기본 객체 이번에는 타임리프에서 기본 객체들을 불러와 렌더링 해보자. 기존의 SpringBoot3.0 미만에서는 ${#request} ${#respons} ${#session} 등등 스프링의 기본객체들을 위와같은 문법으로 별도의 model.addAttribute로 불러온 후 모델에 담지 않아도, 객체들을 불러와 뷰로 렌더링할 수 있었다. 하지만 현재는 ${#locale} 만 사용 가능하며, 다른 기본객체들은 addAttribute로 모델에 담은 후 반환한 뒤 뷰로 렌더링 해주어야 한다. BasicController @GetMapping("/basic-objects") public String basicObjects(Model model, HttpServletRequest request, HttpServletResp.. 2023. 7. 24.