2013-05-05 2 views
0

У меня есть фильтр, который обрабатывает заданное отображение сервлета и включает 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 не будет исправлен?

Я принимаю различные способы достижения такого же результата с использованием других методов, чем упомянуто выше.

+0

Возможно, это возможно, но я бы даже не подумал об этом ... созданный контент до того, как ваш тег уже может быть передан клиенту (размер буфера ответа). – home

+0

Как избежать содержимого, которое должно быть передано клиенту до оценки тега taglib? Это должен быть способ решить эту проблему без огромных недостатков производительности. –

+0

Рано или поздно это станет узким местом производительности (сервер приложений должен кэшировать весь ответ!). Я бы подумал о редизайне ... – home

ответ

0

Я решил создать один taglib для загрузки файла page.jsp и еще один для page-head.jsp. Таким образом, я обрабатываю данные в правильном порядке без каких-либо безумных манипуляций с ответами.

Смежные вопросы