Spring

Spring 앱에서 세션에 속성을 추가하는 방법

기록만이살길 2021. 3. 11. 05:03
반응형

Spring 앱에서 세션에 속성을 추가하는 방법

1. 질문(문제점):

온라인 스토어 용 앱이 있습니다. 각 사용자가 제품을 넣을 수있는 자신 만의 바구니를 만들었 으면합니다. 그 후에 그는이 바구니 등을 편집 할 수 있습니다.이를 수행하는 가장 좋은 방법은 무엇입니까? 나는 이미 여기서이 질문을했지만 적절한 대답이 없었다. 이 문제에 대한 정보를 검색했지만 필요한 형식으로도 찾을 수 없습니다.

현재 다음 체계를 사용하고
있습니다. 사용자가 내 사이트를 방문하자마자 카트를 만들고 다음과 같이 세션에 추가합니다.

@GetMapping("/")
    public String sayHello(HttpSession session) {
        session.setAttribute("bucket", new ArrayList<ProductDto>());
        return "index";
    }

이 장바구니에 무언가를 추가하려면이 방법을 사용합니다.

@GetMapping("/add/{id}")
    public String addProductToBucket(@SessionAttribute("bucket")ArrayList<ProductDto> bucket,
                                     @PathVariable("id") long id,
                                     Model model){
        bucket.add(productService.getById(id));
        return "redirect:/product";
    }

카트를 비우려면 그냥 씁니다

bucket.clear ();

내가 모든 일을 올바르게하고 있습니까? 아니면 다르게 일해야합니까? 그리고 또 다른 질문입니다. 세션에서이 개체의 수명을 어떻게 설정할 수 있습니까? 조건부로 20 분 동안 살았 으면 좋겠어요

2. 해결방안:

아래 어노테이션이 달린 코드는 "value"를 "item"으로 설정합니다.

@RequestMapping(method = RequestMethod.GET)
public String testMestod(HttpServletRequest request){

   request.getSession().setAttribute("item",value);
   return "index.html";
}
65723561
반응형