본문 바로가기
728x90
반응형

thymeleaf32

[Spring] 타임리프 조건부 평가 타임리브의 조건식 if, unless(if 의 반대) BasicController 추가 @GetMapping("/condition") public String condition(Model model) { addUsers(model); return "basic/condition"; } /resources/templates/basic/condition.html if, unless count username age 1 username 0 switch count username age 1 username 10살 20살 기타 if, unless 타임리프는 해당 조건이 맞지 않으면 태그 자체를 렌더링하지 않는다. 만약 다음 조건이 false 인 경우 ... 부분 자체가 렌더링 되지 않고 사라진다. switch * .. 2023. 6. 19.
[Spring] 타임리프 반복 타임리프에서 반복은 th:each 를 사용한다. 추가로 반복에서 사용할 수 있는 여러 상태 값을 지원한다 BasicController 추가 @GetMapping("/each") public String each(Model model) { addUsers(model); return "basic/each"; } private void addUsers(Model model) { List list = new ArrayList(); list.add(new User("UserA", 10)); list.add(new User("UserB", 20)); list.add(new User("UserC", 30)); model.addAttribute("users", list); } /resources/templates/ba.. 2023. 6. 19.
[Spring] 타임리프 속성 값 설정 타임리프 태그 속성(Attribute) 타임리프는 주로 HTML 태그에 th:* 속성을 지정하느 ㄴ방식으로 동작한다. th:*로 속성을 적용하면 기존 속성을 대체한다. 기존 속성이 없으면 새로 만든다 BasicController 추가 @GetMapping("/attribute") public String attribute(Model model) { return "basic/attribute"; } /resources/templates/basic/attribute.html 속성 설정 속성 추가 - th:attrappend = - th:attrprepend = - th:classappend = checked 처리 - checked o - checked x - checked=false 속성 설정 th:* 속성.. 2023. 6. 19.
[Spring] 타임리프 연산 타임리프 연산은 자바와 크게 다르지 않다. HTML안에서 사용하기 때문에 HTML 엔티티를 사용하는 부분만 주의하자. @GetMapping("/operation") public String operation(Model model) { model.addAttribute("nullData", null); model.addAttribute("data", "Spring!"); return "basic/operation"; } /resources/templates/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)? '짝수':'홀.. 2023. 6. 19.
[Spring] 타임리프 리터럴 Literals 리터럴은 소스 코드상에 고정된 값을 말하는 용어이다. 예를 들어서 다음 코드에서 "Hello" 는 문자 리터럴, 10 , 20 는 숫자 리터럴이다. 참고 이 내용이 쉬워 보이지만 처음 타임리프를 사용하면 많이 실수하니 잘 보아두자. 타임리프는 다음과 같은 리터럴이 있다. 문자: 'hello' 숫자: 10 불린: true , false null: null 타임리프에서 문자 리터럴은 항상 ' (작은 따옴표)로 감싸야 한다. 그런데 문자를 항상 ' 로 감싸는 것은 너무 귀찮은 일이다. 공백 없이 쭉 이어진다면 하나의 의미있는 토큰으로 인지해서 다음과 같이 작은 따옴표를 생략할 수 있다. 룰: A-Z , a-z , 0-9 , [] , . , - , _ 오류 문자 리터럴은 원칙상 ' 로 감싸야 한.. 2023. 6. 16.
[Spring] 타임리프 URL 링크 타임리프에서 URL을 생성할 때는 @{...} 문법을 사용하면 된다. BasicController 추가 @GetMapping("/link") public String ling(Model model) { model.addAttribute("param1", "data1"); model.addAttribute("param2", "data2"); return "basic/link"; } /resources/templates/basic/link.html URL 링크 basic url hello query param path variable path variable + query parameter 단순한 URL @{/hello} /hello 쿼리 파라미터 @{/hello(param1=${param1}, param2.. 2023. 6. 16.
728x90
반응형