Ответ 1
Как вы уже слышали, основанные на компонентах фреймворки немного пошатнулись, когда дело доходило до использования некоторых библиотек JavaScript. Я лично использовал только несколько, поэтому я не могу создать определенный список из них. Тем не менее, я использовал как базовые компоненты, так и шаблоны, поэтому я бы осмелился сказать, что у меня есть хотя бы несколько образованное мнение, чтобы выразить это по этому поводу:
В общем, основанные на компонентах фреймворки обычно труднее работать, главным образом, поскольку они интегрируют "канал Ajax" в свои собственные внутренние компоненты. В качестве примера, в настоящее время очень популярный Apache Wicket реализует весь свой материал Ajax изначально, который порой демонстрирует нарушение на определенных платформах et так далее. Причина такой интеграции обычно заключается в том, что разработчики структуры могут полностью полагаться на поведение функций Ajax в своей структуре; создавая пользовательскую реализацию, они могут опереться на нее и, возможно, быстрее отладить ее. Конечно, есть исключения из этого (даже у Wicket есть своя реализация jQuery под названием wiQuery), но даже тогда эта интеграция может быть подпалой к тому, что вы мог бы нормально писать.
Теперь основанные на запросах фреймворки, как вы их называете (я бы классифицировал их как основанные на шаблонах фреймворки, основанные исключительно на моем опыте), как правило, позволяют вам иметь более мелкозернистый контроль над различными частями страницы, обычно вы заканчиваете даже писать окончательную разметку с помощью некоторых магических тегов здесь и там для связывания динамической части веб-приложения со статическим макетом. Имея это в виду, довольно очевидно, что они обычно позволяют вам как разработчику выбирать - среди множества других вещей - библиотеку JavaScript по вашему выбору, но это компромисс; независимо от того, какой компонент на основе компонентов будет обеспечиваться на данном этапе, вам нужно переопределить сами. Чаще всего это ограничивается обработкой запросов Ajax, но это зависит от структуры и структуры.
Подводя итог, если вы действительно хотите использовать jQuery (и почему бы и нет), и вы не можете согласиться с тем, как он был интегрирован в инфраструктуру на основе компонентов, посмотрите, что другой вид может предложить.
Если бы мне пришлось порекомендовать то, что, по моему мнению, подойдет вам идеально, я бы рекомендовал GSP поверх Spring MVC с использованием простой Java для бэкэнда и т.д., но эта комбинация на самом деле даже не существует, поскольку GSP является частью представления Grails, Groovy на основе веб-приложения.