Лучшая практика Spring Webflow
-
11-09-2019 - |
Вопрос
У меня есть веб-приложение Java, которое использует spring webflow в качестве фреймворка.У меня проблема с обработкой данных в обычном потоковом XML-файле.Когда обработка становится более сложной, мне становится трудно реализовать ее с использованием flow xml веб-потока.Я рассматривал возможность использования контроллеров для выполнения этих операций.Как мне это сделать?Понятия не имею, как использовать контроллеры в веб-потоке.И из контроллеров могу ли я также перейти к XML-файлу flow, чтобы продолжить обработку?
Пример моей проблемы заключается в отправке форм.Вот такой сценарий.У меня есть таблица пользователей и таблица полномочий.У меня также есть класс User, представляющий tablebec, который я использовал здесь для гибернации.На моей странице регистрации у меня есть поля имени пользователя, пароля и полномочий (не поле класса user).Я привязываю эту форму к своему пользовательскому объекту, используя привязку spring webflow.Моя проблема в том, что я не могу привязать поле полномочий, потому что оно не существует в моем классе User.Нужно ли мне создавать компонент, представляющий мою форму?Мне нужно добавить имя пользователя и пароль в таблицу Users и полномочия в другую таблицу Authority.Где мне выполнить инициализацию для моего объекта User и объекта Authority или где мне установить значения из registerFormBean для моих POJOs?Я думаю, что это не очень хороший подход, иначе это усложнит мой поток xml
Решение
вы можете реализовать это с помощью jsf в качестве презентации + webflow + mvc в качестве контроллера
сначала вы создадите вспомогательный компонент с именем пользователя, паролем, полномочиями затем позвольте webflow создать вспомогательный компонент в сеансе затем при отправке действие вызовет @controller "Spring MVC" и контроллер вызовет ваш бизнес и бизнес-вызов DAO, который вы внедрили как Hibernate
вот так
<on-start>
<evaluate expression="youractionClass.createbackingBean()" result="conversationScope.yourbean" />
</on-start>
второе решение вы можете привязать представление к модели, которая содержит имя пользователя, пароль, полномочия затем при отправке действие вызовет @controller "Spring MVC" и контроллер вызовет ваш бизнес и бизнес-вызов DAO, который вы реализовали как Hibernate
<view-state id="registerForm" model="registerBean"