[설명]
View Templete Engine**으로 JSP, Freemarkerd와 같이 서버에서 클라이언트에게 응답할 브라우저 화면을 만들어주는 역할을 합니다[장점]
[적용]
[예시 및 기능]
th:text
<div>
<p th:text="${name}">th:text 사용</p>
<p>Name : [[${name}]]</p>
<div>
<!--
[결과]
Test
Name : Test
-->
th:utext
SpringEL
타임리프에서 변수를 사용할 때는 변수 표현식을 사용합니다
[예시]
@GetMapping("/variable")
public String variable(Model model){
User userA = new User("userA", 10);
User userB = new User("userB", 20);
List<User> list = new ArrayList<>();
list.add(userA);
list.add(userB);
HashMap<String, User> map = new HashMap<>();
map.put("userA",userA);
map.put("userB",userB);
// 타임리프에서 변수를 사용할 때 변수 표현식을 사용해주기 위한 작업
model.addAttribute("user",userA);
model.addAttribute("users",list);
model.addAttribute("userMap",map);
return "basic/variable";
<div>
<p>${user.username} : <span th:text="${user.username}"></span></p>
<div>
<!--
[결과]
${user.username} : userA
-->
th:with="${}"
th:with**를 이용하여 새로운 변수값을 생성할 수 있습니다<div th:with=”userId=${number}” th:text=”${usesrId}”>th:value="${}"
<input type="text" id="userId" th:value="${userId} + '의 이름은 ${userName}"/>Form
<form> 태그 사용시, 해당 경로로 요청을 보낼 때 사용합니다<form> 태그에서 데이터를 보내기 위해 Submit을 할 때 데이터가 th:object 속성을 통해 object에 지정한 객체에 값을 담아 넘긴다. 이때 값을 **th:field**속성과 함꼐 사용하여 넘깁니다th:object**속성과 함께 **th:field**를 이용해서 HTML 태그에 멤버 변수를 매핑할 수 있습니다th:field**을 이용한 사용자 입력 필드는 id, name, value 속성 값이 자동으로 매핑됩니다조건문 + 반복문
if**와 **else**를 뜻합니다th:unless**는 일반적인 언어의 else 문과는 달리 **th:if**에 들어가는 조건과 동일한 조건을 지정해야 합니다<c:foreach> 그리고 JAVA의 반복문 중 **for문**을 뜻 합니다switch-case**문과 동일합니다th:block**으로 설정하고 그 안에 코드를 작성합니다#numbers.sequest(start, end, step)
#numbers**라는 숫자 포맷 메소드를 지원하고, **#numbers**에는 다양한 메소드들이 존재하는데 가장 많이 사용하는 것이 **#numbers.sequece**입니다#numbers.sequece 메서드는 start, end, step을 이용하여 원하는 범위에 대해 시퀀스를 생성해 줍니