Совместное использование объекта на экранах с помощью Spring Webflow
Я пытаюсь настроить что-то, что будет похоже на многоэкранный процесс настройки бронирования, например.
Экран 1 Добавить личную информациюЭкран 2 Контактная информацияЭкран 3 Сводка и подтверждениеЯ настроил свой .jsp и xml webflow и все классы, но у меня проблемы с их связыванием. Я хочу создать класс Account в начале потока. Когда первый экран заполнен, информация сохраняется в этом классе. Когда на последнем экране пользователь может просматривать сводку на основе предоставленной им информации и при необходимости вносить изменения, когда он возвращается к первому экрану, информация уже будет заполнена для него, поэтому ему не нужно будет повторно вводить.
Я прошу прощения за стену кода. Я пытался свести это к возможным местам для ошибки, о которой я мог думать.
Мой поток-config.xml
...
Мой общий сервлет-context.xml
BookingManagementService.java
@Service("bookingService")
public class BookingManagementService{
@Transactional(readOnly = true)
public BookingIpl createBooking(Long hotelId, String username) {
BookingIpl booking= new BookingIpl();
return booking;
}
}
BookingIpl.java
@Entity
public class BookingIpl implements Serializable {
public String username;
...
}
IndexController
@Controller
public class IndexController extends AbstractController {
private BookingManagementService bookingService;
@Autowired
public IndexController(BookingManagementService bookingService) {
this.bookingService = bookingService;
}
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest arg0,
HttpServletResponse arg1) throws Exception {
return new ModelAndView("index");
}
}
так что в моих сценариях Java для первого экрана у меня будет что-то вроде:
и после запроса к следующему экрану я хочу вернуть значение в сводке, например
${status.value}
Я получаю сообщение об ошибке:
SEVERE: Servlet.service() for servlet [appServlet] in context with path [/myapp] threw exception [Request processing failed; nested exception is org.springframework.webflow.execution.ActionExecutionException: Exception thrown executing [AnnotatedAction@778e65f2 targetAction = [EvaluateAction@25c73030 expression = bookingService.createBooking(), resultExpression = flowScope.booking], attributes = map[[empty]]] in state 'null' of flow 'flow-config' -- action execution attributes were 'map[[empty]]'] with root cause
org.springframework.expression.spel.SpelEvaluationException: EL1008E:(pos 0): Field or property 'bookingService' cannot be found on object of type 'org.springframework.webflow.engine.impl.RequestControlContextImpl'
Я попробовал другой способ сделать все это, определяя bean-компонент в моем сервлете следующим образом:
но это тоже не помогло, выдало ту же ошибку.
Я очень новичок в веб-потоке и весне, поэтому, пожалуйста, прости меня, если ошибка, которую я сделал, была чем-то очевидным.
Спасибо