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