[Spring Boot] 링크 처리

     

    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

    댓글