Я хочу обернуть и изменить ответ на HTTP-запрос к моему приложению Java EE / tomcat. То есть у меня есть ряд действий в Struts 2, которые генерируют результаты, и я хотел бы добавить к ним внешний интерфейс, который модифицирует ответ для таких вещей, как скрытие ссылок и т. Д. Изменение каждого из источников исключено. из-за их большого количества и разнообразия.
Я знаю, что могу написать фильтр сервлетов, который делает то, что я хочу, но я бы хотел использовать стандартное, хорошо протестированное решение, а не заново изобретать колесо. Я искал один, и в документах Java EE есть места, описывающие такого зверя, но я не смог найти тот, который мог бы загрузить.
Редактировать : Есть комментарии, что это ужасная идея. Я открыт для предложений относительно лучшего. Ситуация такова, что у меня есть большое количество действий, написанных в течение длительного периода времени, и есть различные системные модификации, которые я хотел бы сделать для их вывода. Я не хочу изменять все действия, потому что это нарушает СУХОЙ (и это будет тонна работы). Мне кажется, что это именно то, для чего созданы фильтры - по сути, AOP для HTTP-ответов. Я не так думаю?
Редактировать # 2 : Что касается значимости изменений, сказать сложно. Как правило, это не имеет значения в смысле добавления большого количества нового контента на страницу. Это скорее сканирование ответа и внесение сравнительно небольших изменений: например, добавление классов в ссылки при определенных условиях, добавление небольших фрагментов кода в различные места на странице или (в крайнем случае) отсечение элемента div, который не должен отображаться. Пользователь. Я бы сказал, что самая большая проблема заключается в том, что система состоит из приблизительно 4000 уникальных страниц, каждая из которых создается отдельным действием и / или просмотром с использованием нескольких различных технологий. Можно сказать, что эта структура системы воняет, но это реальность жизни, работающей над очень большим 15-летним программным обеспечением. Моя другая идея состоит в том, чтобы реализовать только фильтр для сканирования и внести изменения в javascript. Это не помогает в ситуации, которая действительно связана с безопасностью (то есть не хочу, чтобы пользователь даже видел контент), но это может помочь в ряде других случаев, которые делаются в первую очередь для удобства пользователя. Спасибо всем за обсуждение, пожалуйста, продолжайте.