728x90
링크 처리에 대해 알아보자.
Thymeleaf 에서의 링크는 @{ } 를 이용해야 한다.
아래의 내용은 SampleController 내용중 일부 이다.
@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("aaa", list);
}
@GetMapping() 을 통해 하나 이상의 URL을 처리할 수 있다.
이 구문을 만들어줄 html 파일을 작성 해보자
<!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/exView}">[[${dto}]]</a>
</li>
</ul>
</body>
</html>
이 코드의 뜻은 @{ } 로 구성된 링크를 처리하고 있다는 뜻이다.
이런 단순한 코드에 파라미터를 추가해보자
<!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/exView(sno=${dto.sno})}">[[${dto}]]</a>
</li>
</ul>
</body>
</html>
파라미터를 추가하는 방법은 단순하다 ( ) 를 추가하고
파라미터의 이름과 값을 적어주는 것으로 끝이난다
이번은 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/exView/{sno}(sno=${dto.sno})}">[[${dto}]]</a>
</li>
</ul>
</body>
</html>
728x90
'프로그래밍 > Spring' 카테고리의 다른 글
Thymeleaf 기본 객체 (0) | 2023.04.04 |
---|---|
제어문 처리 ( Thymeleaf편 ) - 3 - (0) | 2023.04.03 |
제어문 처리 ( Thymeleaf편 ) - 2 - (0) | 2023.04.03 |
제어문 처리 ( Thymeleaf편 ) - 1 - (0) | 2023.04.03 |
스프링 내용 정리 - 2 - (0) | 2023.03.31 |