Именно так мы строим макет, когда мы думаем о xslt [.....], так что это был подход, который я постоянно пытался реализовать в мире сервлетов / jsp
Почему?Java и XSLT - разные звери.Вы делаете это, потому что ваше приложение ориентировано на XML, а XSLT дает вам возможность его обрабатывать, или это просто потому, что ваш мозг сосредоточен на мышлении XSLT?
Если ваше приложение имеет в своей основе XML и ваш подходоправдано, тогда, возможно, взгляните на Apache Cocoon , который должен уметь обрабатывать конвейеры XML.В комментариях упоминались также некоторые другие фреймворки, поэтому я укажу один аспект Spring : он имеет XSLT-представления .
Если ваши данные нелегкопреобразовать в XML, но вы делаете это, так что вы можете обрабатывать его с помощью XSLT только потому, что XSLT вам более знаком, чем JSP, тогда вы делаете это неправильно.
Что касается сбора данных из нескольких источников, сервлет /Цепочка JSP не очень хорошая идея.Это низкоуровневые компоненты, и (как вы сами заметили) для создания рабочего процесса приложения требуется внешняя координация.Обычно сервлеты / JSP координируются с помощью веб-фреймворков, построенных на их основе.
Веб-фреймворки Java в основном MVC, поэтому в MVC сбор данных выполняется в модели (модель содержит бизнес-логику и координацию саналогично данным), затем отправьте их контроллеру, который выберет соответствующий вид для рендеринга данных.Если ваши данные действительно являются XML (или легко конвертируемыми в XML), то на этом этапе может помочь представление XSLT (JSP на самом деле не были предназначены для обработки XML).
Как вы сказали сами, мир Java «действительно, действительно огромен и зрел», поэтому вы можете решить эту проблему разными способами (то есть существует множество способов снять шкуру с кошки).Нужно ли в конечном итоге объединить фрагменты JSP?Как насчет Sitemesh , Apache Tiles , пользовательских JSP-тегов , чертовски даже портлетов ... множества платформ, библиотек и т. Д., КоторыеВы могли бы использовать.
Но какое бы решение вы в итоге ни выбрали, просто убедитесь, что вы используете для его реализации мышление Java.