Spring: объект Command не заполняется - PullRequest
1 голос
/ 16 августа 2010

У меня есть два контроллера, простой контроллер формы и контроллер нескольких действий.

Теперь, в 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.

Я что-то здесь упускаю или это неправильный способ передачи командных объектов?

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 16 августа 2010

Если вы не сохраните свой MyObject в сеансе, вы всегда получите ноль. Это происходит из-за того, что пользовательские данные не переносят перенаправление . Чтобы сохранить объект команды в сеансе, используйте setSessionForm в SimpleFormController, а затем получите команду с помощью

public ModelAndView another(HttpServletRequest request, HttpServletResponse response, HttpSession session, MyObject myObj) throws CRPMException  {

вместо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...