Поддерживает ли Spring webflux представление jsp / представление плиток? - PullRequest
0 голосов
/ 24 декабря 2018

Я обновляю версию Spring в нашем приложении, которая была на версии 4.3 раньше, а при обновлении до версии 5 мы хотим изменить часть приложения, чтобы использовать доступные реактивные функции.И MVC, и WebFlux работают бок о бок в приложении, но разрешение представления не работает в webflux, если оно не поддерживается.

    @RequestMapping(value = "/react/createWithReactive")
    public Mono<String> reactCreateWithReactive(Model map) {
              return Mono.just("createPage");
    }

1 Ответ

0 голосов
/ 25 декабря 2018

Согласно официальной весенней документации разрешение экрана такое же, как у MVC

https://docs.spring.io/spring-framework/docs/5.0.x/spring-framework-reference/web-reactive.html#webflux-viewresolution

1.3.6.Разрешение представления То же самое в Spring MVC

Разрешение просмотра позволяет выполнять рендеринг в браузер с шаблоном HTML и моделью без привязки к определенной технологии представления.В Spring WebFlux разрешение представления поддерживается через специальный HandlerResultHandler, который использует ViewResolver для сопоставления String, представляющего логическое имя представления, с экземпляром View.Затем представление используется для визуализации ответа.

Обработка того же в Spring MVC

HandlerResult, переданный в ViewResolutionResultHandler, содержит возвращаемое значение из обработчика, а также модель, которая содержит атрибуты, добавленные во время запроса.обработки.Возвращаемое значение обрабатывается как одно из следующих:

String, CharSequence - логическое имя представления, которое должно быть преобразовано в представление через список сконфигурированных ViewResolver.

void - выбрать представление по умолчаниюимя на основе пути запроса минус начальная и конечная косая черта, и разрешите его в представлении.То же самое также происходит, когда имя представления не было предоставлено, например, был возвращен атрибут модели или возвращено асинхронное возвращаемое значение, например, Mono завершено пустым.

Rendering - API для сценариев разрешения представления;изучите параметры в вашей среде IDE с дополнением кода.

Модель, Карта - дополнительные атрибуты модели, которые будут добавлены в модель для запроса.

Любые другие - любые другие возвращаемые значения (кроме простыхтипы, как определено BeanUtils # isSimpleProperty), обрабатывается как атрибут модели, который будет добавлен в модель.Имя атрибута является производным от имени класса с использованием Условных обозначений, если только не присутствует метод-обработчик аннотации @ModelAttribute.

Модель может содержать асинхронные, реактивные типы (например, из Reactor, RxJava).Перед визуализацией AbstractView разрешает такие атрибуты модели в конкретные значения и обновляет модель.Реактивные типы с одним значением разрешаются в одно значение или без значения (если оно пустое), в то время как реактивные типы с несколькими значениями, например, Flux, собираются и разрешаются в список.

Настроить разрешение представления так же просто, как добавитьbean-компонент ViewResolutionResultHandler для вашей конфигурации Spring.WebFlux Config предоставляет специальный API-интерфейс для настройки разрешения представления.

Подробнее о технологиях представления, интегрированных с Spring WebFlux

, см. В разделе «Технологии представления».
...