С моей точки зрения, использование MVCPortlet и JSP без Spring-mvc или Struts подходит только для простого портлета. Я бы определенно попробовал хотя бы пример портлета, чтобы увидеть, как он работает, если разработчики не сделали портлеты.
Единственное преимущество использования Struts заключается в том, что сам портал активно использует его, потому что spring-portlet-mvc является относительно новым. Так что вы можете многому научиться на самых разных примерах. В противном случае технология afaik умирает ( в отношении разработки портлетов ), и если вы не работали со Struts, лучшим вариантом для вас будет перейти на spring-portlet. Я использую Spring-портлет уже более года, и должен сказать, что был поражен тем, насколько хорошо он интегрирован в контейнер портлетов и какие функции реализованы там. Вы можете делать практически все, как с spring-mvc (спецификация сервлета), за исключением некоторой незначительной поддержки, которую я все равно нашел избыточной.
Скорость развития
опытный разработчик, который знает, что spring-mvc может создать надежное приложение с несколькими контроллерами Spring.
Техническое обслуживание
Количество исходного кода с пружиной значительно меньше, чем у стоек. Spring-портлет реализовал 268 JSR, так что он экономит пару обходных путей.
Простота разработки с командами Geo Distributed
Я чувствую, что вы стремитесь к чему-то большему, поэтому спросите разработчиков об их опыте с Spring и Struts и сделайте свой выбор. В любом случае, Liferay - довольно надежное решение для портала, и «изучить» его и найти способ его правильного использования является более важной проблемой, чем разработка портлетов.
Также поинтересуйтесь разработчиками знанием Javascript. Если они мало знают JS или у вас нет фронт-эндов разработчиков, я бы, вероятно, попробовал портлеты Vaadin или GWT . Однако Liferay имеет очень хорошую поддержку на стороне клиента, и вы увидите, что в Liferay можно многое сделать на стороне клиента. Библиотеки тегов JSP обеспечивают значительное динамическое поведение, а структура Alloy JS, построенная на основе YUI, обеспечивает приятную среду, и ее нетрудно использовать.
РЕДАКТИРОВАТЬ: Сравнение Struts и Spring касается спецификации портлета, где (на мой взгляд) поддержка Struts - это старый Volkswagen, а Spring - Bentley continental gt: -)
ТАКЖЕ: Ключевым инструментом для разработки портлетов Liferay является так называемый ServiceBuilder, который является генератором кода, который генерирует значительную часть вашего уровня персистентности, уровня удаленного сервиса на основе модели домена и метаданных. Если вы решите использовать его, ваш портлет будет автоматически основан на Spring. И я бы порекомендовал использовать его, потому что, как только вы попробуете это, вы не отпустите. Например, для создания Ajax-вызовов от клиентской стороны к удаленным сервисам требуется 2 минуты, чтобы настроить его, иметь возможность вызывать их и даже получать возвращаемое значение. Настройка Hibernate полностью оптимизирована и готова к использованию после запуска servicebuilder. И многое, многое другое.