Включение ресурсов в JSP

В реальных проектах JSP-страницы часто состоят из статических элементов. Для этого используется директива include, а файл, содержащий необходимый статичный элемент, сохраняется с расширением .jspf, что означает «фрагмент JSP». При необходимости включения содержимого в JSP-страницу каждый раз, когда та получает запрос, используется стандартное действие jsp:include. В этом случае включаемые сегменты имеют доступ к объектам request, session и application исходной страницы и ко всем атрибутам, которые имеют эти объекты. Если использовать директиву include, то изменения включаемого сегмента отразятся только после изменения исходной страницы (контейнер JSP перекомпилирует исходную страницу). Для включения содержимого в JSP-документ также используется стандартное действие jsp:include. При этом не обязательно, чтобы включаемый JSP-фрагмент был правильным XML-документом. Главное, чтобы он возвращал текст в виде правильного XML и не нарушал структуру исходного JSP-документа.

<!–пример #15 : включение в код статического содержимого : incl_title.jspx –>

<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"

xmlns:c="http://java.sun.com/jsp/jstl/core"

version="2.0">

<jsp:directive.page contentType=

"text/html; charset=Utf-8" />

<html><head>

<jsp:directive.include file="\WEB-INF\jspf\title.jspf" />

</head>

<body>

<h1>JSP-страница, использующая директиву include</h1>

<h3>Директива include используется для включения статического содержимого, например заголовка страницы.</h3>

</body></html>

</jsp:root>

<!– пример # 16 : код включаемого фрагмента : title.jspf –>

<title>Title from title.jspf</title>

Ниже приведен пример включения динамического содержимого. Включаемый фрагмент получает данные из объектов request и session. Для передачи значения параметра можно использовать строку запроса. Запрос может выглядеть следующим образом:

http://localhost:8082/home/thanks.jspx?lname=username. Установка кодировки в фрагменте необходима для того, чтобы устранить неполадки при включении русского текста.

<!– пример # 17 : использование действия include для динамического включения : thanks.jspx –>

<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0">

<jsp:directive.page contentType="text/html;charset=Utf-8"/>

<html><head><title>Действие include</title></head>

<body>

Данные, сформированные динамически при включении jsp-фрагмента<br/>

Включаемый фрагмент получает данные из объекта session <br/>

<jsp:include page="\WEB-INF\jspf\params.jsp"/>.

</body></html>

</jsp:root>

<!– пример #18 : включаемый фрагмент : params.jsp –>

<jsp:directive.page contentType="text/html;charset=Utf-8"/>

ID сессии –

<jsp:expression>session.getId()</jsp:expression>

В результате работы документа в браузер будет выведено:

Данные, сформированные динамически при включении jsp-фрагмента.
Включаемый фрагмент получает данные из объектов request, session
ID сессии – 08C51EEC60A97E90C734101F54EA310E .

Также для включения содержимого можно использовать тег <c:import>. Его использование уже было приведено выше.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100