[SPRING] 페이지 간 모델 데이터 유지 관리 (Spring 3 MVC)
SPRING페이지 간 모델 데이터 유지 관리 (Spring 3 MVC)
Spring에서 연락처 추가 프로세스가 여러 페이지에 걸쳐 있습니다. 첫 페이지에는 텍스트 입력이 필요하고 두 번째 페이지에는 이미지 입력이 표시되고 초안 표시와 함께 세 번째가 표시됩니다.
첫 페이지
@RequestMapping("/addContact")
public String registerContact(@ModelAttribute Contact contact) {
return "addContact";
}
@RequestMapping("/addContact")
두 번째 페이지
@RequestMapping("/addImages")
public String registerImages(@Valid Contact contact, BindingResult result) {
return "addImages";
}
페이지간에 연락처 모델 데이터를 유지 관리하여 사용자가 페이지간에 다시 이동하거나 거품을 낼 수있는 옵션을 제공하려면 어떻게해야합니까?
해결법
-
==============================
1.모든 페이지를 처리하는 단일 컨트롤러가있는 경우 @SessionAttributes를 사용하여 세션의 요청 간 연락처를 저장할 수 있습니다. 마지막 페이지 후 SessionStatus를 사용하여 @SessionAttribtues 사용이 완료되었음을 표시합니다 (정리 용).
모든 페이지를 처리하는 단일 컨트롤러가있는 경우 @SessionAttributes를 사용하여 세션의 요청 간 연락처를 저장할 수 있습니다. 마지막 페이지 후 SessionStatus를 사용하여 @SessionAttribtues 사용이 완료되었음을 표시합니다 (정리 용).
@Controller @SessionAttributes("contact") public AddContactController { @ModelAttribute public Contact contact() { return new Contact(); } @RequestMapping("/addContact") public String registerContact(@ModelAttribute Contact contact) { return "addContact"; } @RequestMapping("/addImages") public String registerImages(@Valid @ModelAttribute Contact contact, BindingResult result) { return "addImages"; } @RequestMapping("/save") public String firstPage(@ModelAttribute Contact contact, SessionStatus status) { status.complete(); } }
-
==============================
2.이것은 하나의 제한 사항이있는 @SessionAttributes를 사용하여 수행 할 수 있습니다. 이것은 전적으로 귀하의 디자인에 달려 있습니다.
이것은 하나의 제한 사항이있는 @SessionAttributes를 사용하여 수행 할 수 있습니다. 이것은 전적으로 귀하의 디자인에 달려 있습니다.
또는 아래 언급 된 의사 코드를 사용할 수 있습니다. 여기서 세션 API를 확인하십시오.
Use HttpServletRequest in your RequestMapping to get request. HttpSession session = request.getSession();//make an session.setAttribute("user", userDTO); try { HttpSession session=request.getSession(false); if(session!=null) { UserDTO userDTO = (UserDTO) session.getAttribute("user");
}
userDTO는 객체입니다.
양식으로 돌아가는 방법
이제 흐름에서 앞뒤로 이동하려면 정방향 및 역방향 링크를 만들고 세션을 사용하여 이미 저장된 값을 채워야합니다.
더 구체적인 코드가 필요하면 알려주십시오.
from https://stackoverflow.com/questions/18781439/maintain-model-data-between-pages-spring-3-mvc by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 애플리케이션 / json에서 Spring 디코딩 + (더하기 문자)가 요청을받는 이유는 무엇입니까? 어떻게해야합니까? (0) | 2019.09.13 |
---|---|
[SPRING] Spring의 @Transactional이 보호 된 메소드에서 작동하지 않는 이유는 무엇입니까? (0) | 2019.09.13 |
[SPRING] Spring POST는 null 값을 가진 객체를받습니다. (0) | 2019.09.13 |
[SPRING] Spring AOP : @After를 사용하여 메소드에서 예외가 발생했는지 확인하는 방법은 무엇입니까? (0) | 2019.09.13 |
[SPRING] 봄 @RequestMapping (0) | 2019.09.13 |