Loading...
Spring Framework Reference Documentation 7.0.2의 @SessionAttributes의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
@SessionAttributesSee equivalent in the Reactive stack
@SessionAttributes는 요청 사이에서 모델 속성을 HTTP Servlet 세션에 저장하는 데 사용됩니다. 이는 특정 컨트롤러에서 사용하는 세션 속성을 선언하는 타입 레벨 어노테이션입니다. 이는 일반적으로 이후 요청에서 접근할 수 있도록 세션에 투명하게 저장되어야 하는 모델 속성의 이름이나 모델 속성의 타입을 나열합니다.
다음 예제는 @SessionAttributes 어노테이션을 사용하는 방법을 보여줍니다:
1@Controller 2@SessionAttributes("pet") // (1) 3public class EditPetForm { 4 // ... 5}
| 1 | @SessionAttributes 어노테이션을 사용합니다. |
1@Controller 2@SessionAttributes("pet") // (1) 3class EditPetForm { 4 // ... 5}
| 1 | @SessionAttributes 어노테이션을 사용합니다. |
첫 번째 요청에서 pet이라는 이름의 모델 속성이 모델에 추가되면 자동으로 승격되어 HTTP Servlet 세션에 저장됩니다. 이는 다음 예제에서 보이는 것처럼 다른 컨트롤러 메서드가 SessionStatus 메서드 인수를 사용하여 저장소를 비울 때까지 그곳에 남아 있습니다:
1@Controller 2@SessionAttributes("pet") // (1) 3public class EditPetForm { 4 5 // ... 6 7 @PostMapping("/pets/{id}") 8 public String handle(Pet pet, BindingResult errors, SessionStatus status) { 9 if (errors.hasErrors()) { 10 // ... 11 } 12 status.setComplete(); // (2) 13 // ... 14 } 15}
| 1 | Servlet 세션에 Pet 값을 저장합니다. |
| 2 | Servlet 세션에서 Pet 값을 삭제합니다. |
1@Controller 2@SessionAttributes("pet") // (1) 3class EditPetForm { 4 5 // ... 6 7 @PostMapping("/pets/{id}") 8 fun handle(pet: Pet, errors: BindingResult, status: SessionStatus): String { 9 if (errors.hasErrors()) { 10 // ... 11 } 12 status.setComplete() // (2) 13 // ... 14 } 15}
| 1 | Servlet 세션에 Pet 값을 저장합니다. |
| 2 | Servlet 세션에서 Pet 값을 삭제합니다. |
@ModelAttribute
@SessionAttribute