스프링

[Spring Boot] Thymeleaf를 활용해보자(2)

zumsim 2023. 1. 12. 22:28
728x90
반응형
Thymeleaf에서의 링크처리

 

Thymeleaf의 링크는 '@{}'를 이용한다.

@GetMapping({"/ex2""/exLink"})
public void exModel(Model model) {
    List<SampleDTO> list = IntStream.rangeClosed(1,20).asLongStream().
            mapToObj(i->{
                SampleDTO dto = SampleDTO.builder()
                        .sno(i)
                        .first("First.."+i)
                        .last("Last.."+i)
                        .regTime(LocalDateTime.now())
                        .build();
                return dto;
            }).collect(Collectors.toList());
     model.addAttribute("list", list);
}
cs

 

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
  <ul>
    <li th:each="dto : ${list}">
        <a th:href="@{/sample/view}">[[${dto}]]</a>
    </li>
  </ul>
</body>
</html>
cs

 

또한 파라미터를 추가하기 위해서는 다음처럼 사용할 수 있다.

파라미터를 추가하기 위해서는 ()를 추가하고 파라미터의 이름과 값을 적어주면 된다.

 

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
  <ul>
    <li th:each="dto : ${list}">
        <a th:href="@{/sample/view(sno=${dto.sno})}">[[${dto}]]</a>
    </li>
  </ul>
</body>
</html>
cs

 

특정 파라미터를 path로 이용하고 싶으면 다음처럼 사용할 수 있다.

 

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
  <ul>
    <li th:each="dto : ${list}">
        <a th:href="@{/sample/view/{sno}(sno=${dto.sno})}">[[${dto}]]</a>
    </li>
  </ul>
</body>
</html>
cs

 

728x90
반응형