У меня есть фильтр, который обрабатывает заданное отображение сервлета и включает JSP, который содержит структуру каждой страницы.Редактирование содержимого jsp из taglib
servletContext.getRequestDispatcher("/index.jsp").include(request, response);
Внутри СПЯ У меня есть пользовательский JSTL тег, который обрабатывает включение другой части JSP в родителе согласно ряду правил (включение осуществляются внутри «тело» метка:
pageContext.include(ProcessURI.getJSPLocation(request.getRequestURI()));
Внутри последней включено JSP Я хочу, чтобы иметь возможность написать таблицу стилей и добавить к ответу. Я использую TagLib для этого.
<taglib:head>
<link rel="stylesheet" href="some.css" >
</taglib:head>
Поскольку содержание последнего JSP является включенный в тег body, мне нужно получить доступ к «голове» и вставить HTML после последнего элемента (я не могу вставить таблицу стилей внутри тега body).
<head>
...
<!-- I want to insert here -->
<link rel="stylesheet" href="some.css" >
<head>
<body>
...
Как получить доступ к обработанному ответу внутри последнего TagLib (TagLib: голова), где я могу редактировать и вставить его содержимое тела в первый включен JSP (/index.jsp)?
Я полагаю, что можно получить доступ к ответу, который был обработан до тех пор, пока данный вызов taglib не будет исправлен?
Я принимаю различные способы достижения такого же результата с использованием других методов, чем упомянуто выше.
Возможно, это возможно, но я бы даже не подумал об этом ... созданный контент до того, как ваш тег уже может быть передан клиенту (размер буфера ответа). – home
Как избежать содержимого, которое должно быть передано клиенту до оценки тега taglib? Это должен быть способ решить эту проблему без огромных недостатков производительности. –
Рано или поздно это станет узким местом производительности (сервер приложений должен кэшировать весь ответ!). Я бы подумал о редизайне ... – home