본문 바로가기

Thymeleaf15

[Thymeleaf] 조건 (if, unless, switch) 타임리프의 조건식 if, unless (if의 반대), switch Example /Controller 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); 1. if th:if 타임리프는 해당 조건이 맞지 않으면 태그 자체를 렌더링 하지 않는다. if 조건이 false 인 경우 span 태그가 사라진다. 2. unless (= if not) th:unless 타임리프는 해당 조건이 맞지 않으면 태그 자체를 렌더링하지 않는다. unless 조건이 false 인 경우 sp.. 2022. 1. 25.
[Thymeleaf] 반복 (th:each) 타임리프에서 반복은 th:each를 사용한다. //Controller 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); 1. 반복 기능 username 0 반복 시 오른쪽 컬렉션 ${users}의 값을 하나씩 꺼내서 왼쪽 변수(user)에 담아서 태그를 반복 실행한다. th:each는 배열, java.util.Iterable, java.util.Enumeration을 구현한 모든 객체를 반복에 사용할 수 있다. Map에서도 사용할 수 있는데 이 경우 변수에 담기는 값.. 2022. 1. 25.
[Thymeleaf] 속성값 설정 타임리프 태그 속성값 설정 (Attribute) 타임리프는 HTML 태그에 th:* 속성을 지정하는 방식으로 동작한다. 1. 속성 설정 th:* 로 속성을 적용하면 기존 속성을 대체한다. 기존 속성이 없으면 새로 만든다. 2. 속성 추가 (1) th:attrappend 속성 값의 뒤에 값을 추가한다. (2) th:attrprepend 속성 값의 앞에 값을 추가한다. (3) th: classappend class 속성에 추가한다. 3. checked 처리 (1) HTML에서의 checked HTML에서 checked 속성은 checked 속성의 값과 상관없이 checked라는 속성만 있어도 체크가 된다. checked="false가 되어있어도 브라우저로 확인해보면 체크박스에 체크가 되어 있는 것을 확인할 .. 2022. 1. 25.
[Thymeleaf] URL 링크 URL 링크 타임리프에서 URL을 생성할 때 사용하는 문법 URL 링크: @{...} Example //Controller @GetMapping("/link") public String link(Model model) { model.addAttribute("param1", "data1"); model.addAttribute("param2", "data2"); return "basic/link"; } 1. 단순한 URL basic url /hello 2. 쿼리 파라미터 hello query param /hello?param1=data1&param2=data2 3. 경로 변수 path variable /hello/data1/data2 4. 경로 변수 + 쿼리 파라미터 path variable + query .. 2022. 1. 25.
[Thymeleaf] 객체 1. 기본 객체 HttpServletRequest, HttpServletResponse 등의 객체를 Model에 담아서 View로 넘겨야 한다. 하지만 자주 쓰는 객체들을 타임리프에서는 기본 객체들로 제공한다. //Controller session.setAttribute("sessionData", "Hello Session"); @Component("helloBean") static class HelloBean { public String hello(String data) { return "Hello " + data; } } (1) 기본 객체 Thymeleaf은 5가지의 기본 객체를 제공한다. ${#request} ${#response} ${#session} ${#servletContext} ${#loc.. 2022. 1. 25.
[Thymeleaf] 변수, 리터럴, 연산 1. 변수 - SpringEL (Spring Expression Language) 타임리프에서 변수를 사용할 때는 변수 표현식을 사용한다. 변수 표현식 : ${...} //Controller User userA = new User("userA", 10); User userB = new User("userB", 20); List list = new ArrayList(); list.add(userA); list.add(userB); Map map = new HashMap(); map.put("userA", userA); map.put("userB", userB); model.addAttribute("user", userA); model.addAttribute("users", list); model.addAt.. 2022. 1. 25.
반응형