복붙노트

[SPRING] 모델 및 뷰 내부에서 리디렉션과 리디렉션의 차이점

SPRING

모델 및 뷰 내부에서 리디렉션과 리디렉션의 차이점

URL로 리디렉션하는 봄 컨트롤러 클래스에서

어느 쪽이든 두 진술의 차이점과 유사점을 설명하십시오.

그리고 어떤 상황에서 그것을 사용해야합니다.

Rohit :

redirectAttribute를 사용하여 이전 url에서 값을 가져옵니다. 이 경우 return "redirect : /abc.htm"을 사용하면서 가치를 얻고 있습니다. 그러나이 모델에서는 새로운 ModelAndView ( "redirect : /abc.htm")를 반환하지 않습니다. RedirectAttributes에 차이점이 있습니까?

해결법

  1. ==============================

    1.진술 :

    진술 :

    return "redirect:/abc.htm"
    return new ModelAndView("redirect:/abc.htm")
    

    동일한 작업을 수행하십시오 : 요청을 abc.htm으로 재 지정하십시오. 뷰 이름이 반환되면 prefix redirect : 이것은 리디렉션이 필요하다는 특별한 표시로 인식됩니다. 나머지보기 이름은 리디렉션 URL로 처리됩니다.

    성명서와 함께

    return "redirect:/abc.htm"
    

    리디렉션보기 이름 만 반환 할 수 있습니다.

    ModelAndView를 사용하면 단일 반환 값으로 모델과 뷰를 모두 반환 할 수 있습니다.

    ModelAndView modelAndView =  new ModelAndView("redirect:/abc.htm");
    modelAndView.addObject("modelAttribute" , new ModelAttribute());
    return modelAndView;
    

    그러나 클라이언트 (브라우저)가 /abc.htm URL에 대해 수행 할 새 리디렉션 요청에서는 속성 값을 사용할 수 없습니다. ModelAndView를 사용하면 모델과 뷰를 단일 반환 값으로 함께 반환 할 수 있도록 요청을 새 URL로 전달할 때 유용합니다. 리디렉션 시나리오의 경우 특성을 전달하려면 RedirectAttributes를 사용해야합니다.

  2. from https://stackoverflow.com/questions/19516719/difference-between-redirect-and-redirect-inside-modelandview by cc-by-sa and MIT license