|
Модераторы: LSD, AntonSaburov |
|
oson |
|
||||||||||
Опытный Профиль Группа: Участник Сообщений: 289 Регистрация: 3.3.2004 Где: Севастополь Репутация: нет Всего: 1 |
Подскажите пожалуйста как решается обработка событий в Spring web flow
Есть на странице такой элемент например <p:tabView id="tabView" var="category" value="#{showcaseBean.categories}"> <p:ajax event=”tabChange” listener=”#{showcaseBean.onChange}” /> При нажатии на tab надо вывести с этой категорией. Для этого надо получить номер категории и считать из базы список связанных с ним товаров (Category 1 - * Articles). Я это событие могу перехватить в baking bean, который связан со страницей - то есть в shop-flow.xml он объявлен в виде
и в нем есть метод
Если бы это был просто JSF то я вызвал бы через DAO например сессию и считал бы данные - все просто. Но в Spring web flow сессия привязана к этому самому flow. Правильно? То есть мне надо воспользоваться моим ShoppingService например, который является бином Spring и благодаря настройкам сессия и транзакция открывается только если я вызываю его через записи в этом shopping-flow. То есть я не могу сделать в самом showcaseBean чтото вроде
А я должен сделать это так как то
Однако проблема в том, что в WebFlow в файле конфигурации потока можно использовать только action?! типа
А что же делать с TabChangeEvent ? В принципе можно ограничиться движением по workflow только при помощи <р:commandButton action="confirm"/>, но тогда надо иметь возможность прочитать данные из базы ВНЕ flow.xml, чтобы например заполнить те же самые страницы при переключении табов? Как это можно решить? P.S. существуют еще элементы интерфейса типа <h:selectOneMenu где надо подключить valueChangeListener. Как с ними в Spring webflow работать тоже? |
||||||||||
|
|||||||||||
oson |
|
||||||||||
Опытный Профиль Группа: Участник Сообщений: 289 Регистрация: 3.3.2004 Где: Севастополь Репутация: нет Всего: 1 |
Решение
делаю следующее на странице showcase.xhtml
ShowcaseBean:
my-flow.xml
То есть за счет компонента <p:remoteCommand я любое событие на странице перевожу через Javascript метод в вызов action, который уже и обрабатывается в flow файле. Это может быть например (для загрузки из базы данных на старте страницы) javascript типа
А уже этот updateTabs() вызывает
|
||||||||||
|
|||||||||||
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |