我有兩個控制器,一個簡單的窗體控制器和一個多動作控制器。春天:命令對象沒有得到填充
現在,在simpleformcontroller中,我想重定向請求到多動作控制器。
下面是在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結合在多動作控制器的方法。
<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中的各個領域都在mutiactioncontroller空,而他們在SimpleFormController中傳遞時具有有效值。
我在這裏丟失了什麼,或者這不是傳遞命令對象的正確方法嗎?
任何幫助表示讚賞。
爲什麼你使用'SimpleFormController'和'MultiActionController'使用
檢索您的命令?它們已經過時並且很難使用,並且很久以來就被註解控制器所取代。 – skaffman 2010-08-16 09:58:20
這是一個遺留代碼,我們需要使用它。那就是它背後的歷史 – JWhiz 2010-08-16 10:08:07
[這裏是一個例子](http://www.earldouglas.com/node/16),可能有助於引導你走向正確的方向。它使用帶註釋的控制器,它已經有效地取代了您嘗試使用的舊式控制器。 – earldouglas 2010-08-16 16:55:32