봄 mvc를 사용 중입니다. 우리가 로그인 할 때 나는 세션 속성을 설정했다. 사용자가 로그온 할 때 검색 페이지가 하나 있습니다. 사용자에 대한 자세한 정보를 얻을 수 있습니다. 로그인이 없다면 그는 제한된 세부 정보 만 얻을 수 있습니다. 나는 로그인 양식과 사용자 검색 양식 생성시 @SessionAttributes에있는 세션 객체를 설정했습니다. 기본값이 아니라면 세션 속성의 값이 인지 확인했습니다. 내가 양식을 제출할 때하지만 오류 HTTP 상태를 보여줍니다HTTP 상태 500 - 예상 세션 속성 'userObject'
500 - Expected session attribute
@RequestMapping(value = "/user-search", method = RequestMethod.GET)
public String initUserSearchForm(Model model) {
User user = new User();
model.addAttribute("User", user);
if(!model.containsAttribute("userObject"))
model.addAttribute(createDefaultUserCredntials());
return "user";
}
@RequestMapping(value = "/user-byName", method = RequestMethod.GET)
public
@ResponseBody
String getUserByName(HttpServletRequest request,@ModelAttribute("userObject")User user) {
....
....
}
오류가
org.springframework.web.HttpSessionRequiredException: Expected session attribute 'userObject'
org.springframework.web.method.annotation.ModelFactory.initModel(ModelFactory.java:103)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:723)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:687)
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:915)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:811)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:796)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
감사를 설정! –
이 접근법으로보기 : 같은 이름의 기존 모델 객체 때문에 세션 속성 'userObject'를 노출 할 수 없습니다. – Marc