Develop/곤부📙

구멍가게코딩단 '코드로 배우는 스프링부트 웹프로젝트' / 3

밀김 2023. 10. 20. 22:05
728x90

 

 

 

 

 

 

 

 

 

 

의존성 자동 주입 어노테이션

@RequiredArgsConstructor

 

 

 

페이지화된 엔티티를 DTO로 변환하여 리스트에 저장을 해주는 역할을 하는 로직

@Data
public class PageResultDTO<DTO, EN> {
   
    private List<DTO> dtoList;

    public PageResultDTO(Page<EN> result, Function<EN,DTO> fn){
        dtoList = result.stream().map(fn).collect(Collectors.toList());
    }
}

 

 

 

 

.boxed()는 int 정수를 래퍼클래스 Integer로 변환해준다

 

 

 

 

키보드 탐색을 조절하는데 쓰이는 a태그의 tabindex 속성 

<a class="page-link" href="#" tabindex="-1">이전</a>

 

 

 

<li th:class="'page-item'+${result.page == page?'active':''}"
            th:each="page: ${result.pageList}">

${result.page == page?'active':''} 표현식은 result.page와 page가 같을 경우에 "active" 클래스를 추가하고, 그렇지 않으면 클래스를 추가하지 않는 조건을 정의하는걸 삼항연산자로 표현한것..

 

 

 

    @PostMapping("/register")
    public String registerPost(GuestbookDTO dto,RedirectAttributes redirectAttributes){
        log.info("dto..."+dto);

        Long gno = service.register(dto);
       
        redirectAttributes.addFlashAttribute("msg", gno);

        return "redirect:/guestbook/list";

    }

RedirectAttributes는 Spring Framework에서 사용되는 클래스로, 리다이렉트된 후에 데이터를 유지하고 다음 요청으로 전달하는 데 사용됩니다. 주로 리다이렉션 후에 데이터나 메시지를 사용자에게 표시하거나 다음 요청에서 사용해야 할 경우에 유용합니다.
RedirectAttributes는 주로 Spring의 리다이렉트 후-리다이렉트 전 상황에서 데이터를 전달하기 위한 목적으로 사용됩니다. 
RedirectAttributes는 리다이렉트된 페이지에만 사용 가능하며, 데이터를 세션에 저장하고 리다이렉트 후에 제거합니다. 이를 통해 데이터를 안전하게 리다이렉트한 후에 사용자에게 표시하거나 다음 요청에서 활용할 수 있게 합니다

 

 

 

addFlashAttribute는 리다이렉트 된 후에 데이터를 전달할때 사용 객체에 데이터를 추가할때 사용된다

 

 

 

 

 

728x90