Spring MVC & UI Компоненты - PullRequest
       6

Spring MVC & UI Компоненты

34 голосов
/ 22 сентября 2011

Я нахожусь в фазе «выбора технологий» небольшого одностраничного веб-приложения, которое будет в значительной степени основано на AJAX и которое будет отчитываться перед бэкэндом Java.

В предыдущем вопросеЯ опубликовал несколько недель назад, SO-сообщество в целом твердо убеждено, что мне лучше использовать веб-приложение на основе Spring MVC, чем что-то в JSF.Поскольку Spring ориентирован на запросы, а JSF ориентирован на компоненты, имеет смысл использовать Spring только для того, что будет получать много асинхронных запросов.

Если я если бы шел по маршруту JSF, то мой следующий набор решений состоял бы в том, использовать ли так называемые библиотеки компонентов пользовательского интерфейса для технологии представления, такие как PrimeFaces , IceFaces или MyFaces .

Итак, мне интересно: Есть ли у Spring MVC что-то похожее, скажем, на PrimeFaces (или ему подобные) для созданияпросмотреть компонент для моей страницы?Я знаю, что он не основан на компонентах, но я не очень хорошо знаком с веб-платформой Spring MVC, и мне было интересно, какие стандарты de facto (если таковые имеются) или типовые стеки технологий используются для веб-разработчиков Springсоздание хороших веб-страниц.

И, если Spring просто использует стандартные шаблонные движки, будет ли достаточно что-то вроде Freemarker ?

Полагаю, этовопрос типа "лучшие практики" для начинающего разработчика веб-приложений Spring.

Заранее спасибо!

Ответы [ 4 ]

21 голосов
/ 23 сентября 2011

Как правило, ценность так называемых компонентов пользовательского интерфейса заключается в том, что они отслеживают взаимодействие с пользователем на стороне сервера путем интеграции с инфраструктурой с состоянием.

Поскольку вы решили использовать платформу, ориентированную на запросы,Вместо этого было бы разумнее использовать некоторые хорошо известные клиентские библиотеки JavaScript.Популярные варианты включают:

Лично, если мне не нужно много стандартныхвстроенные виджеты, мне нравится Backbone.js + underscore.js + jQuery.Мне не нравится Google Web Toolkit, потому что это похоже на написание pidgin JavaScript, и в этот момент я предпочитаю писать JavaScript напрямую.

6 голосов
/ 23 января 2013

Да, JSF ориентирован на компоненты, а Spring MVC ориентирован на запросы.Я рекомендую вам взглянуть на движок шаблонов Thymeleaf, который является полной заменой движка JSP .... Возможности Thymeleaf:

  • Он позволяет создавать естественные шаблоны.
  • Поддержка HTML5
  • Повышение производительности благодаря использованию в кэшировании памяти

Нажмите здесь для получения дополнительной информации

1 голос
/ 25 августа 2015

Кроме того, что упомянуто Людовико Фишером , если мы рассмотрим тот же вопрос в современном мире технологий, чем вы можете использовать одну из самых мощных вещей недавнего мира: Angular.Есть 2 примера сценария.

  1. Если ваша архитектура полностью клиентская: интеграция для нее вполне естественна.Spring MVC представляет ваш сервис как REST (JSON / XMl ...), а ваше клиентское приложение с Angular JS использует ваш JSON.Здесь военное приложение (Spring mvc) должно быть развернуто в контейнере сервлетов (Tomcat), а ваше клиентское приложение может быть развернуто на том же сервере или на другом сервере Nginx, Apache и т. Д.
  2. Если вы хотите сохранить генерацию страниц на стороне сервера и использовать AngularJS только для приятных манипуляций с DOM, поэтому ваш код должен быть развернут в той же войне (WEB-INF).Смешивание двух подходов не всегда хорошая идея.Вы можете попробовать thymeleaf , чтобы остаться в генерации страниц на стороне сервера.

    Таким образом, таким образом, вы можете одновременно иметь такие крутые возможности, как шаблоны, тестируемость и чистый вид кода.

0 голосов
/ 17 ноября 2015

Вот еще один подход (не JSF), позволяющий Spring MVC работать с компонентами пользовательского интерфейса ZK - Богатое веб-приложение с демонстрацией CRUD Spring MVC

В этой статье он использовал Spring MVCконтроллер для связи с компонентами ZK UI.(все в коде Java)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...