Подтвердить что ты не робот

Ваадин и Spring Интеграция MVC

Я думаю о возможности использования Spring MVC с Vaadin Framework. Есть ли документированные способы заставить их играть хорошо вместе? Также неплохо использовать их вместе? касающиеся производительности; Я собираюсь запустить приложение на выделенном сервере.

Чтобы сделать мой вопрос несколько более ясным, как я могу вернуть modelandview из Spring MVC-контроллера, который будет выполнять Waadin с помощью Vaadin и может получить доступ ко всем данным модели.

4b9b3361

Ответ 1

Spring поддержка Vaadin довольно новая, но в последнее время об этом много говорили на форуме, а некоторые ее протестировали. Кажется, работает. В этой статье есть статья о вики Waadin, а некоторые темы на форуме говорят о интеграции Vaadin + Spring:

Wiki: Spring Интеграция
Форум: может ли этот инструментарий быть интегрирован с приложением Spring
Форум: Spring проблема интеграции
Форум: Работа с Spring
Форум: Spring Интеграция

Ответ 2

Не уверен, что это разумный выбор для интеграции vaadin с Spring MVC. Это пустая трата. MVC предназначен для типичных веб-приложений на основе веб-страниц, где, поскольку vaadin - это больше состояний представления, таких как настольное приложение. Обычно я встречался посередине и имел уровень доступа к уровню бизнеса и доступа к данным в Spring и использовал Vaadin как есть.

Ответ 3

Смотрите этот поток на форуме Vaadin для моего решения AutowiringApplicationServlet, включая пример приложения WAR.

Ответ 4

согласен с dhrbo.

нецелесообразно использовать spring mvc, тем более с webflow с vaadin. vaadin - еще одна инфраструктура веб-приложений.

если вам нужна идея "spring mvc" в вашем проекте vaadin, интегрируйте ее с spring -core, beans и контекстом. таким образом вы можете получить четкое разделение между контроллерами, ui (vaadin) и моделями (интегрироваться с гибернацией/ормами)

Ответ 5

Здесь приведена статья об интеграции сервисного уровня Spring с Vaadin. Он напрямую не связан с Spring MVC, о котором говорил исходный вопрос, но он все еще может быть указателем для других читателей, изучающих интеграцию Vaadin Spring.

http://psponcoding.blogspot.com/2011/03/vaadin-spring-integration.html

Ответ 6

org.springframework.web.servlet.mvc.Controller handleRequest принимает параметры HttpServletRequest и HttpServletResponse. Из этого вы не можете обработать фрагмент URI. Таким образом, контроллер не подходит для управления запросами на основе фрагмента URI.

В моем приложении я применил очень похожую концепцию к контроллеру Spring. В моем приложении все еще есть понятие "взгляды" и "модель". Каждое представление реализовано в отдельном классе и отображается в центральном блоке страницы. Я хотел бы централизовать логику обработки URL-адресов для этого класса, поэтому я создал класс AbstractControllerEntry:

public static abstract class AbstractControllerEntry {
    public abstract boolean matches(String fragment);
    public abstract void open(MainWindow window, String fragment);
}

с несколькими удобными подклассами, такими как ConstantEntry, PrefixEntry и RegexEntry.

Каждый класс представления имеет статический метод, который возвращает AbstractControllerEntry. Сбор всех записей хранится в статическом массиве внутри класса MyController (а не Spring MVC-контроллер). После смены фрагмента (см. UriFragmentUtility), я повторяю все записи и, во-первых, которые совпадают, я буду называть открытым. Любая другая логика, такая как поиск объекта модели, находится внутри класса представления, в AbstractControllerEntry implmentation.

Дополнительно, существует еще один статический метод для генерации фрагмента URI в классе представления, так что каждая ссылка на представление является реальной ссылкой на класс, это решение для неработающих ссылок. И каждый вид имеет метод экземпляра для получения фрагмента для текущего представления, который проверяется на соответствие записи контроллера для повышения надежности.