자바에서 3가지 유형으로 user를 저장하고
model.addAttribute("user", user);
model.addAttribute("userList", list);
model.addAttribute("userMap", map);
Model 객체에 "user" 에 1명의 user를 저장 , list, map 에 각각 데이터를 저장한후 thymeleaf에서 불러오려면
//User 객체를 불러오는 프로퍼티 접근법 _ 아래 3처리방법 모두 동일한 결과
th:text="${user.username}"
th:text="${user['username']}"
th:text="${user.getUsername()}"
//UserList 에서 0번째 객체를 불러오는 프로퍼티 접근법 _ 아래 3처리방법 모두 동일한 결과
th:text="${userList[0].username}"
th:text="${userList[0]['username']}"
th:text="${userList[0].getUsername()}"
//UserMap 에서 key를 통해서 value를 불러오는 프로퍼티 접근법 _ 아래 3처리방법은 모두 동일 결과
th:text="${userMap['userA'].username}"
th:text="${userMap['userA']['username']}"
th:text="${userMap['userA'].getUsername()}"
날짜 또한 표현 가능하다.

우선 컨트롤러에 날짜를 출력할수있도록 하고
model.addAttribute("localDateTime", LocalDateTime.now());
기본 출력과, 포맷을 설정해서 출력 가능함
//기본출력
th:text="${localDateTime}"
// yyyy-MM-dd HH:mm:ss 형식 출력
th:text="${#temporals.format(localDateTime, 'yyyy-MM-dd HH:mm:ss')}"

요렇게 출력 된다.
링크를 표현하기위해서는 아래와 같이 처리한다 .
<!--- basic url 을 클릭하면 [http://localhost:8080/path] 로 이동 --->
<li><a th:href="@{/path}">basic url</a></li>
<!--- http://localhost:8080/path?param1=data1¶m2=data2 로 이동
`()` 에 있는 부분은 쿼리 파라미터로 처리 --->
<li><a th:href="@{/path(param1=${param1}, param2=${param2})}">path query param</a></li>
<!--- http://localhost:8080/path/data1/data2 로 이동
'()' 내부의 param1, param2 가 각각의 경로변수에 대입처리됨 --->
<li><a th:href="@{/path/{param1}/{param2}(param1=${param1}, param2=${param2})}">path variable</a></li>
<!--- http://localhost:8080/hello/data1?param2=data2 로 이동
{param1} 의 경로변수가 1개이므로, '()' 안의 왼쪽 param1 은 data1로 치환되고, 남은 'param2=?${param2} 는 쿼리 파라미터 형태로 변환되어 뒤에 붙어버림
즉 : path/data1?param2=data2" 가 된다. --->
<li><a th:href="@{/path/{param1}(param1=${param1}, param2=${param2})}">path variable + query parameter</a></li>
'Thymeleaf' 카테고리의 다른 글
| 4. Thymeleaf 반복, 조건, 주석 (1) | 2025.08.06 |
|---|---|
| Thymeleaf 핵심 요약 (0) | 2025.08.05 |
| 2. Thymeleaf - text, utext 를 공부 (4) | 2025.08.05 |
| 1. Thymeleaf 가 뭔지 배워야 겠다. (2) | 2025.08.05 |