Включить файл jspf с пользовательским тегом

Как я могу добавить файл jspf на страницу jsp с помощью пользовательского тега?

В классе поддержки тегов я могу добавить код jspf, используя....

JspWriter writter = this.pageContext.getOut();
writter.append( "html code");

Но что мне делать, чтобы добавить файл?


person Oleksandr    schedule 11.04.2011    source источник


Ответы (1)


Если под "файлом jspf" вы подразумеваете фрагмент JSP, на который вы ссылаетесь в статическом включении (например, <%@ include file="fragment.jspf" %>), вы не можете.

Причина в том, что статические включения обрабатываются до компиляции JSP, а библиотеки тегов обрабатываются после.

Если вместо этого вы имеете в виду динамическое включение (обычно вызываемое через <jsp:include>), то вы можете сделать это из обработчика тегов через диспетчер запросов.

Вы всегда можете обернуть статическое включение в обработчик тегов, который реализует некоторую условную логику. Это будет контролировать, вставляется ли вывод этого фрагмента в визуализируемую страницу. Однако он все равно будет скомпилирован на страницу, и я подозреваю, что ваша цель — уменьшить общий размер ваших JSP, и в этом случае вам не повезло.

person Anon    schedule 13.04.2011