Spring MVC에서 SimpleFormController에서 Controller (컨트롤러 인터페이스를 구현하는 컨트롤러)로 명령 객체를 전달해야하는 요구 사항이 있습니다. Spring의 버전은 2.5이고 설정은 XML 기반이다.SimpleFormController에서 Controller로 명령 객체 전달하기
SimpleFormController에서 리디렉션이 컨트롤러로 전송됩니다. 그러나 컨트롤러가 가리키는 jsp에 session = "true"를 추가 했더라도 $ {command.myVal}에 대한 호출은 null을 반환합니다.
SimpleFormController 같은의 리디렉션 코드는 다음 SimpleFormController 같은 들어
return new ModelAndView("redirect:/SimpleController.do");
는 sessionForm 속성은
<property name="sessionForm"><value>true</value></property>
이 문제를 해결하기 위해 spring.xml에서 true로 설정되어, 나는 명시 적으로 추가했다 HttpSession에 대한 SimpleFormController의 명령 객체 :
HttpSession session = request.getSession(true);
session.setAttribute("command", commandObj);
그리고 SimpleController에서 Obj에 대한 String Map을 만들어 View에 전달해야했습니다. 여기에서도 다시 세션에서 commandObj를 가져 왔습니다.
HttpSession session = request.getSession(true);
resultMap.put("command", session.getAttribute("command"));
주석을 사용하지 않고 더 좋은 방법이 있는지 제안하십시오. 이것은 어떻게 든 결과를 얻는 데 오랜 시간이 걸리는 방식으로 보입니다.
우리에게 리디렉션 코드를 제시해주십시오 데 도움이됩니다. –
명령 개체가 세션에 저장되어 있습니까? 그렇지 않은 경우 상태가 리디렉션에서 생존하지 않습니다. – GriffeyDog
SimpleFormController에 대한 SessionForm이 true입니다. true –