3.2.4 링크처리
타임리프의 링크는 '@{}'를 이용합니다. 파라미터를 전달하는 상황에서 가독성 좋은 코드를 만들 수 있습니다.
@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);
}
@GetMapping()에서는 배열을 이용해서 하나 이상의 URL을 처리할 수 있으므로 '/sample/exLink'라는 경로를 처리할 수 있는 구조로 변경했습니다.
<li th:each="dto:${list}">
<a th:href="@{/sample/exView}">[[${dto}]]</a>
</li>
exLink.html 내에는 '@{}'로 구성된 링크를 처리하고 있습니다.
실행결과
파라미터 추가하기
<li th:each="dto:${list}">
<a th:href="@{/sample/exView(sno=${dto.sno})}">[[${dto}]]</a>
</li>
sno를 path로 이용하기
<li th:each="dto:${list}">
<a th:href="@{/sample/exView/{sno}(sno=${dto.sno})}">[[${dto}]]</a>
</li>
728x90
'🏰 Back-end > Spring Boot' 카테고리의 다른 글
[Spring Boot] 레이아웃 템플릿 만들기 (0) | 2021.08.02 |
---|---|
[Spring Boot] 타임리프의 레이아웃 (0) | 2021.07.21 |
[Spring Boot] inline 속성 (0) | 2021.07.18 |
[Spring Boot] 제어문 처리 (0) | 2021.07.16 |
[Spring Boot] 반복문의 상태 객체 (0) | 2021.07.15 |
댓글