Основной вопрос: если мое приложение в настоящее время использует Struts 1.x - и я рассматриваю вопрос о переходе на EITHER Spring-MVC или Struts2 для MVC-инфраструктуры - есть ли что-то такое, что облегчит мигрировать со Struts1.2?
Чтобы уточнить, я НЕ спрашиваю, является ли SpringMVC или Struts2 лучше в целом (существует ряд существующих Q на SO, которые решают эту проблему) - какой из них легче перенести из Struts1.2.
Точка, которая меня больше всего интересует с точки зрения миграции: возможность продолжения (в начале) для использования библиотеки тегов struts1.x на страницах JSP при переходе на Struts2 (или API SpringMVC) на сервере. (Другими словами, может ли какая-либо из этих структур поддерживать taglib Struts1.x в качестве плагина)? [Примечание: это не предназначено как долгосрочное решение - но уменьшило бы трудность интеграции, так как JSP не должен был бы быть немедленно переписан. Я предполагаю, что этот вопрос имеет смысл - если нет, объясните, пожалуйста, почему]
С учетом сказанного меня, конечно, интересуют любые другие преимущества миграции.
Некоторый фон:
Я работаю над приложением, уровень MVC которого написан с помощью Struts 1.2. Мы также используем Spring IOC - хотя в настоящее время приложение не имеет сильной интеграции между слоем Struts и средствами Spring Spring. (Примечание. Это то, что мы планируем исправить при рефакторинге, но, насколько я понимаю, при небольшом планировании это можно сделать правильно / эффективно даже при использовании комбинации Spring IOC + Struts2.)
В рамках улучшения / рефакторинга кодовой базы - мы хотели бы перейти на более современную инфраструктуру MVC (чтобы исключить необходимость в классах Action / Form и использовать конфигурацию, основанную на аннотациях, когда это возможно, и т. Д.), Но сохранить общий классический стиль MVC (то есть в настоящее время не заинтересован в переходе на JSF, Tapestry, GWT, Flex, Play и т. д. Я понимаю, что это очень разные вещи - смешивать их вместе, чтобы дать общее представление ..) Кроме того, желание состоит в том, чтобы идти с чем-то с разумной тягой / импульсом - так правит Полосатый по этой причине. Похоже, что это только оставляет Spring-MVC & Struts2 в качестве претендентов (хотя, если есть что-то еще с аналогичным стилем и сильной отраслевой тягой - мы бы, безусловно, рассмотрели это)
Принято считать, что переключение на любой из них потребует значительного объема работы - но план будет делать это на модульном уровне. По этой причине, если бы любой из этих тегов поддерживал taglib в Struts 1.2 - это значительно упростило бы переключение / тестирование (как мы могли бы затем кодировать реализацию «Control» конкретного модуля в новом API), а второй сервер запустил бы старый Struts1. .2 Реализация с использованием того же jsps. QA-тестирование в таком случае было бы способом «яблоки к яблокам». Имеет ли это смысл, или этот подход (если даже осуществимый) приведет к большему количеству головной боли, чем разрешит?
Также, как указано выше, хотя мой основной вопрос касается запуска taglib Struts1.2 с использованием Spring-MVC или Struts2, меня также интересуют любые другие преимущества MIGRATION для Struts2-vs-Spring-MVC.