728x90 반응형 스프링/스프링 웹 개발 활용66 [Spring] 타임리프 주석 BasicController 추가 @GetMapping("/comments") public String comments(Model model) { model.addAttribute("data", "Spring1"); return "basic/comments"; } /resources/templates/basic/comments.html 예시 html data 1. 표준 HTML 주석 2. 타임리프 파서 주석 html data 3. 타임리프 프로토타입 주석 1. 표준 HTML 주석 자바스크립트의 표준 HTML 주석은 타임리프가 렌더링 하지 않고, 그대로 남겨둔다. 2. 타임리프 파서 주석 타임리프 파서 주석은 타임리프의 진짜 주석이다. 렌더링에서 주석 부분을 제거한다. 3. 타임리프 프로토타입 주석 타임리.. 2023. 6. 19. [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. 이전 1 ··· 7 8 9 10 11 다음 728x90 반응형