저는 간단한 폼 컨트롤러와 멀티 액션 컨트롤러라는 두 개의 컨트롤러를 가지고 있습니다.Spring : 커맨드 객체가 채워지지 않습니다.
이제 simpleformcontroller에서 다중 동작 컨트롤러로 요청을 리디렉션하고 싶습니다.
여기
protected ModelAndView onSubmit(HttpServletRequest request, HttpServletResponse response, Object command, BindException errors) {
MyObject myOb = (MyObject)command;
system.out.println(myOb.toString);
ModelAndView mav = new ModelAndView(new RedirectView("another.htm"));
mav.addObject("Obj",myOb);
return mav;
}
another.htm이 multiaction 컨트롤러의 메소드에 결합 SimpleFormController 같은 코드 조각입니다.
<bean id="MyController" class="MyController">
<property name="methodNameResolver">
<bean class="org.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolver">
<property name="mappings">
<props>
<prop key="/another.htm">another</prop>
</props>
</property>
</bean>
</bean>
MultiActionController을하고있는 코드가 출력된다
public class MyController extends MultiActionController {
public ModelAndView another(HttpServletRequest request,
HttpServletResponse response, MyObject myObj) {
system.out.println(myObj.toString());
}
}
되고, myObj로 모든 필드 SimpleFormController 같은 전달 때 유효한 값을 갖는 반면에 mutiactioncontroller 널이다.
여기에 뭔가가 누락되었거나 명령 객체를 전달하는 올바른 방법이 아닙니까?
도움을 주시면 감사하겠습니다.
가 왜'SimpleFormController'와'MultiActionController'를 사용하는
를 사용하여 명령을 검색하려면? 그것들은 쓸데 없으며 사용할 통증이고, 오랫동안 주석이 달린 컨트롤러로 대체되었습니다. – skaffman
이것은 레거시 코드이며이를 사용해야합니다. 그 뒤의 역사는 다음과 같습니다 – JWhiz
올바른 방향으로 안내 할 수있는 [여기에 예제가 있습니다] (http://www.earldouglas.com/node/16). 그것은 사용하려고하는 구식 컨트롤러를 효과적으로 대체 한 주석이 달린 컨트롤러를 사용합니다. – earldouglas