@SessionAttributes

Dev.Hammy·2024년 4월 3일
0

반응형 스택에서 이에 상응하는 내용 보기

@SessionAttributes는 요청 간 HTTP 서블릿 세션에 모델 속성을 저장하는 데 사용됩니다. 특정 컨트롤러에서 사용하는 세션 속성을 선언하는 유형 수준 주석입니다. 여기에는 일반적으로 후속 요청에 대한 액세스를 위해 세션에 투명하게 저장되어야 하는 모델 속성의 이름 또는 모델 속성 유형이 나열됩니다.

다음 예에서는 @SessionAttributes annotation을 사용합니다.

@Controller
@SessionAttributes("pet")  // (1)
public class EditPetForm {
	// ...
}

(1) @SessionAttributes annotation을 사용합니다.

첫 번째 요청에서 이름이 pet인 모델 속성이 모델에 추가되면 자동으로 HTTP 서블릿 세션으로 승격되어 저장됩니다. 다음 예제와 같이 다른 컨트롤러 메서드가 SessionStatus 메서드 인수를 사용하여 저장소를 지울 때까지 그대로 유지됩니다.

@Controller
@SessionAttributes("pet") // (1)
public class EditPetForm {

	// ...

	@PostMapping("/pets/{id}")
	public String handle(Pet pet, BindingResult errors, SessionStatus status) {
		if (errors.hasErrors) {
			// ...
		}
		status.setComplete(); // (2)
		// ...
	}
}

(1) 서블릿 세션에 Pet 값을 저장합니다.
(2) 서블릿 세션에서 Pet 값을 지웁니다.

0개의 댓글