У меня есть требование, где мне нужно передать объект команды в Spring MVC из SimpleFormController в контроллер (это контроллер, который реализует интерфейс контроллера). Версия Spring - 2.5, а конфигурация основана на XML.
Из SimpleFormController выполняется переадресация в контроллер. Тем не менее, вызов $ {command.myVal} возвращает ноль, даже если я добавил session = "true" в jsp, на который указывает контроллер.
Код перенаправления в SimpleFormController:
return new ModelAndView("redirect:/SimpleController.do");
Для SimpleFormController для свойства sessionForm установлено значение true в spring.xml
<property name="sessionForm"><value>true</value></property>
Чтобы решить эту проблему, мне пришлось явно добавить объект команды в SimpleFormController в HttpSession:
HttpSession session = request.getSession(true);
session.setAttribute("command", commandObj);
А в Simplecontroller мне пришлось создать карту String для Obj и передать ее в View. Здесь я снова взял команду Obj из сеанса.
HttpSession session = request.getSession(true);
resultMap.put("command", session.getAttribute("command"));
Пожалуйста, предложите, если есть лучший способ без использования аннотаций. Это как-то кажется многословным способом получения результата.