#java #angular #jakarta-ee #jboss
#java #angular #джакарта-ee #jboss
Вопрос:
Я начинаю свою карьеру в программировании и пытаюсь узнать как можно больше, особенно в «новых» технологиях, таких как Angular 2 , хотя мне гораздо больше нравится работать над серверной частью.
В настоящее время я работаю в компании, в которой 4 основных приложения работают с использованием Java EE 7 на сервере приложений JBoss. Приложения имеют пользовательский интерфейс, в настоящее время основанный на Java Server Pages (JSP) и Java Server Faces (JSF) (в основном с использованием фреймворка PrimeFaces). Мой проект связан с переносом пользовательского интерфейса с этих «ужасных» страниц xhtml JSF на что-то вроде Angular 6 .
Излишне говорить, что этот переход должен произойти с минимальными изменениями в серверной части. Однако, в том виде, в каком серверная часть была изначально задумана, серверная часть не является RESTful (нет REST API). Итак, все это основано на компонентах, что делает серверную часть тесно связанной с интерфейсной частью, что создает проблему масштабируемости.
Все, что было сказано, учитывая, что создание такого RESTful service, хотя и не полностью исключено, сейчас не вариант, у меня есть следующие вопросы:
1) Возможно ли «передать» данные в мой пользовательский интерфейс Angular с помощью JSP !? Я провел некоторое исследование по этой теме, и, похоже, это каким-то образом возможно.
2) Учитывая, что можно использовать страницы JSP, сколько «отличных инструментов и функциональности» Angular я бы потерял в этом процессе (маршрутизация, двусторонняя привязка, внедрение сервиса и т.д.)?
Было бы здорово иметь какое-то непредвзятое мнение, поскольку я знаю, как люди в моей компании относятся к этому вопросу (они предпочли бы не тратить время на создание REST API в настоящее время), и я знаю, где я нахожусь (я бы предпочел создать сервис, поскольку для меня это было бы отличной возможностью обучения). Тем не менее, сталкиваясь с проблемами реального приложения, я хотел бы узнать мнение сообщества.
Спасибо за помощь,
Ответ №1:
предвзятое мнение, даже если вы просили непредвзятое
Я не специалист по JSP, но из того, что я знаю, это шаблоны на стороне сервера, отображаемые на серверной части. Если это так, то вы не можете использовать это с angular. Возможно, вы можете заставить это как-то работать, расширив конфигурацию webpack и пользовательские плагины, которые загружают файлы .jsp, но вы определенно потеряете либо производительность AOT от angular, либо динамический характер от JSP. И, кроме того, angular в любом случае переходит на все AOT.
Мое предложение такое же, как и ваше, напишите RESTful service. Это не должно занять слишком много времени, потому что запросы / ответы уже доступны. Просто убедитесь, что вы следуете правильным рекомендациям REST.
Затем создайте приложение angular на основе шаблонов из jsp. Я полагаю, вы можете скопировать их один на один и изменить синтаксис с jsp на angular, а также получить необходимые данные из REST api и заполнить их в своем шаблоне
Комментарии:
1. Спасибо за ваш ответ (предвзятый или нет, :- ) ). Я также согласен с тем, что лучшим решением было бы создание службы RESTful. Смешивание JSP и Angular привело бы к созданию лишь некоторого запутанного кода.