Включить файл JSPF с пользовательским тегом
Как я могу добавить файл JSPF на страницу JSP через пользовательский тег?
В классе поддержки тегов я могу добавить код jspf, используя....
JspWriter writter = this.pageContext.getOut();
writter.append( "html code");
Но что мне делать, чтобы добавить файл?
1 ответ
Если под "файлом jspf" вы подразумеваете фрагмент JSP, на который вы ссылаетесь в статическом включении (например, <%@ include file="fragment.jspf" %>
), вы не можете.
Причина в том, что статические включения обрабатываются до компиляции JSP, а библиотеки тегов - позже.
Если вместо этого вы имеете в виду динамическое включение (обычно вызывается через <jsp:include>
), то вы можете сделать это из обработчика тегов через диспетчер запросов.
Вы всегда можете обернуть статическое включение в обработчик тега, который реализует некоторую условную логику. Это будет контролировать, будет ли вывод этого фрагмента вставлен в отображаемую страницу. Тем не менее, он все равно будет скомпилирован на странице, и я подозреваю, что ваша цель - уменьшить общий размер ваших JSP, и в этом случае вам не повезло.