J'ai deux contrôleurs, un contrôleur de formulaire simple et un contrôleur de multiaction.Spring: objet de commande non rempli
Maintenant, dans simpleformcontroller, je veux rediriger une requête vers le contrôleur de multiaction.
est ici extrait de code 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 se lie à une méthode dans le contrôleur de MultiAction.
<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>
et le code dans MultiActionController est
public class MyController extends MultiActionController {
public ModelAndView another(HttpServletRequest request,
HttpServletResponse response, MyObject myObj) {
system.out.println(myObj.toString());
}
}
La sortie est, tous les champs de MyObj sont en mutiactioncontroller alors nulls qu'ils ont des valeurs valides lorsqu'il est passé dans SimpleFormController.
Ai-je manqué quelque chose ici ou n'est-ce pas la bonne façon de passer des objets de commande?
Toute aide est appréciée.
Pourquoi utilisez-vous '' SimpleFormController' et MultiActionController'? Ils sont obsolètes et difficiles à utiliser, et remplacés depuis longtemps par des contrôleurs annotés. – skaffman
Ceci est un code hérité et nous devons l'utiliser. C'est l'histoire derrière elle – JWhiz
[Voici un exemple] (http://www.earldouglas.com/node/16) qui pourrait vous aider à vous orienter dans la bonne direction. Il utilise des contrôleurs annotés, qui ont effectivement remplacé les anciens contrôleurs que vous essayez d'utiliser. – earldouglas