Как я могу сохранить последний идентификатор состояния представления spring-webflow, который посетил пользователь?

У меня есть приложение для электронного обучения со многими потоками по 10 и более страниц. Теперь у меня появилась задача, что пользователь может вернуться на последнюю посещенную страницу потока, если он выбывает до окончания потока. Поэтому я должен сохранять идентификатор при каждом входе в состояние просмотра, но я не хочу вручную изменять каждое определение состояния просмотра.

Я рассматривал наследование потока, но тогда я должен, по крайней мере, изменить каждое определение дочернего состояния представления, чтобы оно наследовалось от родительского состояния представления.

Я думал о технике АОП, но не знаю, куда поставить точку.

Любые другие идеи?

Большое спасибо, Натаниэль


person Nathanael    schedule 25.03.2011    source источник


Ответы (1)


Я не уверен, что полностью понимаю ваш вопрос, пример может помочь.

В любом случае вам следует взглянуть на интерфейс FlowExecutionListener и/или FlowExecutionListenerAdapter. Создание класса, который реализует (или расширяет) один из них, даст вам доступ к жизненному циклу выполнения потока. Метод stateEntered(...) срабатывает после завершения перехода, предоставляя вам доступ как к предыдущему состоянию, так и к новому состоянию. Здесь вы можете сохранить идентификатор предыдущего состояния либо в контексте потока, либо в постоянном хранилище.

person David    schedule 27.04.2011
comment
Это именно то, что я искал. Я не знал о концепции FlowExcecutionListener. Большое спасибо! - person Nathanael; 04.05.2011