BackEnd/Thymeleaf 17

타임리프-반복문

타임리프에서 반복문을 th:each로 사용할 수 있다. 실습을 위해 List에 User객체 3명을 넣어서 Model에 담아준다.@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);}  기본 테이블 ..

BackEnd/Thymeleaf 2024.07.19

타임리프-속성값 설정

타임리프는 속성값을 th:*로 지정한다.th:*로 속성을 적용하면 기존 속성을 대체한다. 속성 설정속성 추가- th:attrappend = - th:attrprepend = - th:classappend = checked 처리- checked o - checked x - checked=false   소스코드를 보면 다 th:로 대체 된것을 확인할 수 있다. th:attrappend  : 속성 값의 뒤에 값을 추가한다.th:attrprepend  : 속성 값의 앞에 값을 추가한다. th:classappend : class 속성에 자연스럽게 추가한다.   th:checked="false"위와 같이 코드를 작성하면 checked값이 false인 경우 checked 속성 자체를 제거한다.

BackEnd/Thymeleaf 2024.07.19

타임리프 - 리터럴

타임리프에서 문자 리터럴은 항상 ' '작은 따옴표로 감싸줘야 한다. 하지만 공백없이 이어지는 문자 리터럴은 작은 따옴표로 감싸지 않아도 된다.ex)  아래 코드와 같이 공백이 있으면 오류가 생긴다. 작은 따옴표로 감싸면 다시 정상작동한다.  리터럴 "hello world!" = --> 'hello' + ' world!' = 'hello world!' = 'hello ' + ${data} = 리터럴 대체 |hello ${data}| =   리터럴 대체(Literal substitutions)"|hello ${data}|" 리터럴 대체 문법을 사용하면 템플릿을 사용하는 것 처럼 편리하게 이용할 수 있다.

BackEnd/Thymeleaf 2024.07.16

타임리프-URL 링크

타임리프에서 URL을 생성하는 방법에 대해서 알아보자. @GetMapping("link")public String link(Model model){ model.addAttribute("param1","data1"); model.addAttribute("param2","data2"); return "basic/link";} URL 링크 basic url hello query param path variable path variable + query parameter 실행 후 페이지 소스 보기와 비교해보면 차이점을 확인 할 수 있다.  @{/hello} ===> /hello @{/hello(param1=${param1}, param2=${param2})} =..

BackEnd/Thymeleaf 2024.07.16

텍스트 - text, utext

HTML의 콘텐츠에 데이터를 출력할때는 아래 코드와 같이 사용하면 된다.  HTML 테그의 속성이 아니라 HTML 콘텐츠 영역안에서 직접 데이터를 출력하고 싶으면 다음과 같이 [[ ... ]]를 사용하면 된다.[[${data}]] 콘텐츠에 데이터를 출력하는 간단한 예제 코드를 통해 알아보자  package hello.thymeleaf.basic;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestMapping..

BackEnd/Thymeleaf 2024.07.15