Браузеры. Восстановление. Windows. Оптимизаторы. Антивирус

Расширение файла JSP приведен к генерируемым сервером веб - страницы, содержащей Java - код. Код обрабатывается веб-сервером, который генерирует HTML. Так как код Java обрабатывается на сервере, конечный пользователь никогда не увидит код JSP, но только HTML генерируется кодом Java на странице. JSP позволяет Java-код и некоторые заранее определенные действия, которые будут вставлены со статическим содержимым веб-разметки, в то время как в результате чего страница составляется и выполняется на сервере для доставки документа. Скомпилированные страницы, а также любые зависимые библиотеки Java, использование Java-байт-код, а не родной формат программного обеспечения. Как и большинство программ Java, они должны выполняться в виртуальной машине Java (JVM), который интегрируется с операционной системой сервера для обеспечения абстрактной платформы нейтральной среды. Страницы JSP можно редактировать с помощью программы развития или базовый текстовый редактор, например Блокнот или WordPad.

Как открыть.jsp файл?

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

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

Поисковая система

Введите расширение файла

Помощь

Подсказка

Необходимо учесть, что некоторые закодированные данные из файлов, которые наш компьютер не читает, иногда можно просмотреть в Блокноте. Таким образом мы прочитаем фрагменты текста или числа - Стоит проверить, действует ли этот метод также в случае файлов JSP.

Что сделать, если приложение со списка уже было установлено?

Часто установленное приложение должно автоматически связаться с файлом JSP. Если это не произошло, то файл JSP успешно можно связать вручную с ново установленным приложением. Достаточно нажать правой кнопкой мышки на файл JSP, а затем среди доступных выбрать опцию "Выбрать программу по умолчанию". Затем необходимо выбрать опцию "Просмотреть" и отыскать избранное приложение. Введенные изменения необходимо утвердить с помощью опции "OK".

Программы, открывающие файл JSP

Windows
Mac OS
Linux

Почему я не могу открыть файл JSP?

Проблемы с файлами JSP могут иметь также другую почву. Иногда даже установление на компьютере программного обеспечения, обслуживающего файлы JSP не решит проблему. Причиной невозможности открытия, а также работы с файлом JSP может быть также:

Несоответственные связи файла JSP в записях реестра
- повреждение файла JSP, который мы открываем
- инфицирование файла JSP (вирусы)
- слишком маленький ресурс компьютера
- неактуальные драйверы
- устранение расширения JSP из реестра системы Windows
- незавершенная установка программы, обслуживающей расширение JSP

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

Мой компьютер не показывает расширений файлов, что сделать?

В стандартных установках системы Windows пользователь компьютера не видит расширения файлов JSP. Это успешно можно изменить в настройках. Достаточно войти в "Панель управления" и выбрать "Вид и персонализация". Затем необходимо войти в "Опции папок", и открыть "Вид". В закладке "Вид" находится опция "Укрыть расширения известных типов файлов" - необходимо выбрать эту опцию и подтвердить операцию нажатием кнопки "OK". В этот момент расширения всех файлов, в том числе JSP должны появится сортированные по названию файла.

Мы надеемся, что помогли Вам решить проблему с файлом JSP. Если Вы не знаете, где можно скачать приложение из нашего списка, нажмите на ссылку (это название программы) - Вы найдете более подробную информацию относительно места, откуда загрузить безопасную установочную версию необходимого приложения.

Что еще может вызвать проблемы?

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

Вы хотите помочь?

Если у Вас есть дополнительная информация о расширение файла JSP мы будем признательны, если Вы поделитесь ею с пользователями нашего сайта. Воспользуйтесь формуляром, находящимся и отправьте нам свою информацию о файле JSP.

JavaServer Pages (JSP) позволяют вам отделить динамическую часть ваших страниц от статического HTML. Вы, как обычно, пишете обычный код в HTML, используя для этого любую программу для создания Web страниц. Затем вы заключаете динамическую часть кода в специальные таги, большинство которых начинаются с " <% " и завершаются " %> ". В качестве примера рассмотрим секцию JSP страницы, результатом которой будет что-то вроде "Спасибо за покупку Core Web Programming " по запросу с URL: http://host/OrderConfirmation.jsp?title=Core+Web+Programming:

Спасибо за покупку <%= request.getParameter("title") %>

Вы даете вашему файлу расширение.jsp и размещаете там же, где должны размещаться обычные Web страницы. Хотя то что вы написали больше похоже на обычный HTML файл чем на сервлет, просто за кадром JSP страница преобразуется в обычный сервлет с статическим HTML который просто направляется в поток вывода, связанный с методом сервлета service . Обычно это происходит при первом запросе страницы, и разработчики могут сразу после установки сами выполнить этот запрос, если хотят чтобы первый реальный пользователь при обращении к странице не столкнулся с небольшой задержкой, вызванной трансляцией JSP страницы в сервлет и его последующей компиляцией и загрузкой. Также отметим что большинство Web серверов позволяет вам задавать ссылки (aliases), так что адрес URL, указывающий на HTML файл в действительности будет указывать на сервлет или страницу JSP.

Помимо стандартных HTML конструкций существуют еще три основных типа конструкций JSP, котрые вы можете включить в страницу: элементы скриптов, директивы и действия. Элементы скриптов позволяют вам указать код на языке Java, который впоследствии станет частью в конечный сервлет, директивы дадут вам возможность управлять всей структурой сервлета, а действия служат для задания существующих используемых компонентов, а также для контроля поведением движка JSP. Для упрощения элементов скриптов, вы имеете доступ к нескольким заранее определенным переменным, таким, например, как переменная request , использованная в приведенном выше отрывке.

Обратите внимание что это руководство охватывает JSP версии 1.0. А начиная с версии 0.92 JSP претерпела множество изменений, и несмотря на то что эти изменения были лишь во благо, вы должны помнить что JSP версии 1.0 практически полностью не совместима с более ранними JSP движками. Также следует не забывать о том, что предлагаемое вашему вниманию руководство является частью более полного руководства по сервлетам и JSP доступного по адресу http://www.apl.jhu.edu/~hall/java/Servlet-Tutorial/ .

2. Синтаксис

Элемент JSP Синтаксис Описание Примечание
Выражение JSP <%= выражение %> Выражение обрабатывается и направляется на вывод Эквивалент на XML:

expression
. Заранее определенные переменные: request, response, out, session, application, config и pageContext (также доступны в скриплетах).
Скриплет JSP <% код %> Код добавляется в метод service. Эквивалент на XML:

код
.
Объявление JSP <%! код %> Код добавляется в тело класса сервлета, вне метода service. Эквивалент на XML:

код
.
Директива JSP page <%@ page att="значение" %> Директивы для движка сервлета с информацией об основных настройках. Эквивалент на XML:
. Допустимые атрибуты (жирным выделены значения, принимаемые по умолчанию):
import="пакет.class "
contentType="MIME-Type "
isThreadSafe="true |false
" session="true |false"
buffer="размер kb|none"
autoflush="true |false"
extends="пакет.class "
info="сообщение"
errorPage="url "
isErrorPage="true|false "
language="java"
Директива JSP include <%@ include file="url" %> Файл в локальной системе, подключаемый при трансляции JSP в сервлет. Эквивалент на XML:
file="url"\>.
URL должен быть относительным. Для подключения файла в процессе запроса а не в ходе трансляции используйте действие jsp:include.
Комментарий JSP <%-- комментарий --%> Комментарий; игнорируется при трансляции JSP страницы в сервлет. Если вы хотите чтобы комментарий сохранился в конечном HTML, используйте обычный синтаксис HTML для описания комментариев: <-- комментарий -->.
Действие jsp:include Подключает файл при запросе страницы. Если вы хотите чтобы файл подключался в процессе трансляции страницы, используйте директиву page совместно с атрибутом include. Внимание: некоторые сервера требуют чтобы подключаемые файлы были в формате HTML или JSP, в зависимости от настроек сервера (обычно данное ограничение базируется на указании расширений файлов).
Действие jsp:useBean or

...
Найти или создать Java Bean. Возможные атрибуты:
id="имя "
scope="page |request|session|application"
class="пакет.class "
type="пакет.class "
beanName="пакет.class "
Действие jsp:setProperty Устанавливает свойства bean, или явно, или указанием на соответствующее значение параметра, передаваемое при запросе. Допустимые атрибуты:
name="имяBean "
property="имяСвойства |*"
param="имяПараметра "
value="значение "
Действие jsp:getProperty name="ИмяСвойства "
value="значение "/>
Получение и вывод свойств bean.
Действие jsp:forward page="относительный URL "/> Передает запрос другой странице.
Действие jsp:plugin attribute="значение "*>
...

Генерирует тэги OBJECT или EMBED, в зависимости от типа броузера, в котором будет выполнятся апплет использующий Java Plugin.

3. Текст шаблона: Статический HTML

Как правило большую часть вашей JSP страницы составляет статический HTML, называемый текстом шаблона . Во всех отношениях (кроме одного) этот HTML выглядит как обычный HTML, использующий те же правила синтаксиса, и он просто "передается" клиенту сервлетом, создаваемым для обработки страницы. При этом не только сам HTML выглядит нормальным, он может создаваться с применением тех инструментов, которые вы ранее использовали при создании Web страниц. Я, например, при создании большинства JSP страниц для этого руководства использовал Allaire"s HomeSite.

Единственным печальным исключением из правила что "текст шаблона передается в неизменном виде" является ситуация, когда в тексте вы хотите отобразить последовательность символов " <% ", для этого в тексте шаблона надо использовать сочетание символов " <\% ".

4. Элементы скриптов JSP

Элементы скриптов JSP позволяют вам вставлять код на Java в сервлет, создаваемый из текущей JSP страницы. Существуют три формы:

  1. Выражения, имеющие форму <%= выражение %> , которые обрабатываются и направляются на вывод,
  2. Скриплеты, имеющие форму <% код %> , которые вставляются в метод service сервлета
  3. Объявления, имеющие форму <%! код %> , которые вставляются в тело класса сервлета, вне существующих методов.
Все они в отдельности будут подробно рассмотрены далее.

4.1 Выражения JSP

Выражения JSP применяются для того чтобы вставить значения Java непосредственно в вывод. Для этого используется следующая форма:

<%= Выражение на Java %>

Выражения Java вычисляются, конвертируются в строку и вставляются в страницу. Эти вычисления происходит во время выполнения (то есть при при запросе страницы), а потому существует полный доступ к информации о самом запросе. Например, следующий код служит для отображения даты и времени запроса данной страницы:

Текущее время: <%= new java.util.Date() %>

Для того чтобы упростить эти выражения существует несколько заранее определенных переменных, которые вы можете использовать. Более детально они будут рассмотрены ниже, но тем не менее, рассматривая их применение при использовании выражений, приведем несколько наиболее важных:

Request , HttpServletRequest ;
response , HttpServletResponse ;
session , HttpSession ассоциируется с запросом (если таковой имеется);
out , PrintWriter (буферизированный вариант типа JspWriter) используется для отсылки выводимых данных клиенту.

Пример: Имя вашего хоста: <%= request.getRemoteHost() %> И, наконец, авторы, использующие XML, могут применить альтернативный синтаксис для выражений JSP: Выражения на Java

Помните, что элементы XML в отличие от HTML чувствительны к регистру. Поэтому убедитесь в том, что используете строчные символы.

4.2 Скриплеты JSP

Если вы хотите сделать что-то большее чем вставка простых выражений, скриплеты JSP дадут вам возможность вставить любой код в метод сервлета, который будет создан при обработке данной страницы. Скриплеты имеют следующий вид:

<% Код на Java %>

Скриплеты также имеют доступ к тем же автоматически определенным переменным, что и выражения. Поэтому, например, если вы хотите вывести что-нибудь на страницу, вы должны воспользоваться переменной out .

<% String queryData = request.getQueryString(); out.println("Дополнительные данные запроса: " + queryData); %>

Обратите внимание на то, что код внутри скриплета вставляется в том виде, как он записан, и весь статический HTML (текст шаблона) до или после скриплета конвертируется при помощи оператора print . Это означает что скриплеты не обязательно должны содержать завершенные фрагменты на Java, и что оставленные открытыми блоки могут оказать влияние на статический HTML вне скриплета. Например, следующий фрагмент JSP содержит смешанный текст шаблона и скриплеты:

<% if (Math.random() < 0.5) { %> Удачного Вам дня! <% } else { %> Не удачного Вам дня! <% } %> после преобразования приведет к чему-то вроде: if (Math.random() < 0.5) { out.println("Удачного вам дня!"); } else { out.println("Не удачного вам дня!"); }

Если вы хотите использовать последовательность символов " %> " внутри скриплета, вместо нее используйте " %\> ". Эквивалентом <% Код %> для XML является:

Код

4.3 Объявления JSP

Объявления JSP позволят вам задать методы или поля, для вставки в тело класса сервлета (вне метода service , обрабатывающего запрос). Они имеют следующую форму:

<%! Код на Java %>

Поскольку объявления не осуществляют вывода, обычно они используются совместно с JSP выражениями или скриплетами. В приведенном в качестве примера фрагменте JSP отображается количество запросов к данной странице с момента загрузки сервера (или с момента последнего изменения и перезагрузки сервлета):

<%! private int accessCount = 0; %> Количество обращений к странице с момента загрузки сервера: <%= ++accessCount %>

Также как и в скриплетах, если вам необходимо использовать последовательность символов " %> ", используйте для этого последовательность " %\> ". XML эквивалентом <%! Код %> является

Код

5. Директивы JSP

Директивы JSP воздействуют на всю структуру класса сервлета. Обычно они имеют следующую форму: <%@ директива атрибут="значение" %> Вы также можете объединить установку нескольких атрибутов для одной директивы: <%@ директива атрибут1="значение1" атрибут2="значение2" ... атрибутN="значениеN" %>

Существуют два основных типа директив: page , которая позволяет вам совершать такие операции, как импорт классов, изменение суперкласса сервлета, и т.п.; и include , которая дает вам возможность вставить файл в класс сервлета при трансляции JSP файла в сервлет. Также следует упомянуть директиву taglib , которая не поддерживается в JSP версии 1.0, но позволяет авторам JSP задавать свои собственные тэги. Предполагается что эта директива станет основной особенностью JSP 1.1.

5.1 Директива JSP page

Директива page позволяет вам задать один и более следующих чувствительных к регистру атрибутов:
  • import="пакет.class " или import="пакет.class1,...,пакет.classN " . Позволяет вам задать пакеты, которые должны быть импортированы. Например:
    <%@ page import="java.util.*" %>
    Атрибут import - единственный атрибут, допускающий многократное применение.
  • contentType="MIME-Тип " или
    contentType="MIME-Тип ; charset=Кодировка-Символов "
    Задает тип MIME для вывода. По умолчанию используется text/html . К примеру, директива
    <%@ page contentType="text/plain" %>
    приводит к тому же результату, что и использование скриплета
    <% response.setContentType("text/plain"); %>
  • isThreadSafe="true|false" . Значение true ("истина", принимается по умолчанию) задает нормальный режим выполнения сервлета, когда множественные запросы обрабатываются одновременно с использованием одного экземпляра сервлета, исходя из соображения что автор синхронизировал доступ к переменным этого экземпляра. Значение false ("ложь") сигнализирует о том, что сервлет должен наследовать SingleThreadModel (однопоточную модель) при которой последовательные или одновременные запросы обрабатываются отдельными экземплярами сервлета.
  • session="true|false" . Значение true ("истина", принимается по умолчанию) сигнализирует о том, что заранее определенная переменная session (тип HttpSession) должна быть привязана к существующей сессии, если таковая имеется, в противном случае создается новая сессия, к которой и осуществляется привязка. Значение false ("ложь") определяет что сессии не будут использоваться, и попытки обращения к переменной session приведут к возникновению ошибки при трансляции JSP страницы в сервлет.
  • buffer="размерkb|none" . Задает размер буфера для JspWriter out . Значение принимаемое по умолчанию зависит от настроек сервера, но должно превышать 8kb .
  • autoflush="true|false" . Значение true ("истина", принимаемое по умолчанию) устанавливает что при переполнении буфер должен автоматически очищаться. Значение false ("ложь"), которое крайне редко используется, устанавливает что переполнение буфера должно приводить к возникновению исключительной ситуации. При установке значение атрибута buffer="none" установка значения false для этого атрибута недопустимо.
  • extends="пакет.class " . Задает суперкласс для генерируемого сервлета. Этот атрибут следует использовать с большой осторожностью, поскольку возможно что сервер уже использует какой-нибудь суперкласс.
  • info="сообщение " . Задает строку, которая может быть получена при использовании метода getServletInfo .
  • errorPage="url " . Задает JSP страницу, которая вызывается в случае возникновения каких-либо событий Throwable s, которые не обрабатываются на данной странице.
  • isErrorPage="true|false" . Сигнализирует о том, может ли эта страница использоваться для обработки ошибок для других JSP страниц. По умолчанию принимается значение false ("ложь").
  • language="java" . Данный атрибут предназначен для задания используемого языка программирования. По умолчанию принимается значение " java" , поскольку на сегодняшний день это единственный поддерживаемый язык программирования.
Синтаксис задания директив на XML типДирективы атрибут=значение /> Пример. Эквивалентом XML для <%@ page import="java.util.*" %> является

5.2 Директива JSP include

Эта директива позволяет вам включать файлы в процессе трансляции JSP страницы в сервлет. Использование директивы выглядит следующим образом:

<%@ include file="относительный url" %>

Заданный URL обычно интерпретируется относительно JSP страницы, на которой расположена ссылка, но, как и при использовании любых других относительных URL вы можете задать системе положение интересующего вас ресурса относительно домашнего каталога Web сервера, добавив в начало URL символ "/". Содержимое подключаемого файла обрабатывается как обычный текст JSP и поэтому может включать такие элементы как статический HTML, элементы скриптов, директивы и действия.

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

Руководство по сервлетам: JavaServer Pages (JSP) 1.0 <%@ include file="/navbar.html" %>

6. Пример использования элементов скриптов и директив

На этом простейшем примере показано использование различных конструкций JSP: выражений, скриплетов, объявлений и директив. Также вы можете скачать исходный файл или вызвать этот скриплет из Интернет .

Использование JavaServer Pages

Использование JavaServer Pages

Некое динамическое содержание созданное с использованием различных механизмов JSP:

  • Выражение.
    Имя вашего хоста: <%= request.getRemoteHost() %>.
  • Scriptlet.
    <% out.println("Дополнительные данные запроса: " + request.getQueryString()); %>
  • Объявление (совместно с выражением).
    <%! private int accessCount = 0; %> Количество обращений к странице с момента загрузки сервера: <%= ++accessCount %>
  • Директива (совместно с выражением).
    <%@ page import = "java.util.*" %> Текущая дата: <%= new Date() %>

7. Заранее определенные переменные

Для упрощения кода в выражениях JSP и скриплетах, вам предоставлен набор их восьми автоматически определенных переменных, иногда называемых неявными объектами . Доступные переменные это request , response , out , session , application , config , pageContext и page . Далее мы рассмотрим каждую из них в отдельности

7.1 request

Это объект HttpServletRequest , связанный с запросом, который позволяет вам обращаться к параметрам запроса (через метод getParameter), типу запроса (GET , POST , HEAD , и т.д..), и входящим HTTP заголовкам (cookies, Referer , и т.д..). Проще говоря, request является подклассом ServletRequest и может отличаться от HttpServletRequest если используется протокол отличный от HTTP, что на практике практически никогда не встречается.

7.2 response

Это объект типа HttpServletResponse , связанный с ответом на запрос клиента. Обратите внимание что, поскольку поток вывода (см. out далее) буферизован, можно изменять коды состояния HTTP и заголовки ответов, даже если это недопустимо в обычном сервлете, но лишь в том случае если какие-то данные вывода уже были отправлены клиенту.

7.3 out

Это объект типа PrintWriter , используемый для отправки вывода клиенту. Однако, чтобы сделать объект response (см. предыдущий раздел) полезным, следует использовать буферизированный вариант PrintWriter - JspWriter . Помните что вы можете изменять размер буфера и даже отключить буферизацию, изменяя значение атрибута buffer директивы page . Этот вопрос подробно рассмотрен в . Также обратите внимание что out используется практически исключительно скриплетами, поскольку выражения JSP автоматически помещаются в поток вывода, что избавляет от необходимости явного обращения к out .

7.4 session

Это объект типа HttpSession , связанный с запросом. Сессии создаются автоматически, и эта переменная существует даже если нет ссылок на входящие сессии. Единственным исключением является ситуация, когда вы отключаете использование сессий используя атрибут session директивы page (см. ). В этом случае ссылки на переменную session приводят к возникновению ошибок при трансляции JSP страницы в сервлет.

7.5 application

Это объект типа ServletContext полученный через использование метода getServletConfig().getContext() .

7.6 config

Это объект типа ServletConfig для текущей страницы.

7.7 pageContext

В JSP представлен новый класс PageContext для изолированного использования специфических особенностей сервера, таких как более эффективные JspWriter s. Идея заключается в том, что если вы обращаетесь к ним через этот класс а не непосредственно, ваш код может исполняться на "обычных" движках сервлет/JSP.

7.8 page

По сути является синонимом для this , и не нужен при работе с Java. Эта переменная создавалась с расчетом на перспективу, когда возможно появятся другие языки программированя скриптов, отличные от Java.

8. Действия

Действия JSP используют конструкции с синтаксисом XML для управления работой движка сервлета. Вы можете динамически подключать файл, многократно использовать компоненты JavaBeans, направить пользователя на другую страницу или сгенерировать HTML для Java plugin. Допустимо применение следующих действий:

Все эти действия детально рассмотрены далее. Помните что как и во всем XML, имена элементов и атрибутов регистрозависимы.

8.1 Действие jsp:include

Это действие позволяет вам вставлять файлы в генерируемую страницу. Синтаксис действия: package hall; public class SimpleBean { private String message = "Текст сообщения не задан"; public String getMessage () { return(message); } public void setMessage (String message) { this.message = message; } }

8.3 Еще несколько деталей о использовании jsp:useBean

Простейший способ использовать bean - это использование конструкции

для загрузки bean, а затем использовать jsp:setProperty и jsp:getProperty для модификации и получения его свойств. Однако существуют еще два других способа. Во-первых, вы можете использовать формат контейнера, а именно:

Тело

для того чтобы обеспечить выполнение Тела только в том случае, если экземпляр bean создается впервые, а не тогда, когда находится и используется уже существующий bean. Как обсуждается далее, beans могут совместно использоваться, поэтому не каждое выражение jsp:useBean приводит к созданию экземпляра нового bean. Во-вторых, кроме id и class , существуют еще три других атрибута, которые вы можете использовать: scope , type , и beanName . Эти атрибуты описаны в следующей таблице.

Атрибут Применение
id Дает имя переменной, которая ссылается на bean. Если удается найти bean с теми же самыми значениями id и scope, то вместо создания нового экземпляра используется ранее созданный объект.
class Задает полное имя пакета bean.
scope Задает область, в которой bean должен быть доступен. Может принимать четыре допустимых значения: page , request , session и application . По умолчанию принимает значение page , означающее что bean доступен только на текущей странице (размещается в PageContext текущей страницы). Значение request означает что bean доступен только для текущего запроса клиента (размещается в объекте ServletRequest). Значение session означает что объект доступен всем страницам на протяжении жизни текущей HttpSession . И, наконец, значение application означает что он доступен всем страницам, использующим тот же самый ServletContext . Причина необходимости этого атрибута заключается в том что jsp:useBean приводит к созданию нового экземпляра объекта в том случае, если нет уже существующего объекта с тем же id и scope . Иначе используется уже существующий объект, и все элементы jsp:setParameter или любые другие между тэгами jsp:useBean игнорируются.
type Указывает тип переменной, которая ссылается на объект. Долже совпадать с именем класса, суперкласса или реализуемого интерфейса. Запомните что имя переменной задается через атрибут id .
beanName Дает имя bean, которое будет использовано методом instantiate . Можно задать type и beanName , и опустить атрибут class .

8.4 Действие jsp:setProperty

Вы можете использовать jsp:setProperty для присвоения значений свойствам ранее описанных beans. Вы можете делать это двумя способами. Во-первых, вы можете использовать jsp:setProperty после, но вне элемента jsp:useBean , так как это показано в примере:

...

В этом случае jsp:setProperty выполняется независимо от того, был ли найден существующий bean или был создан новый экземпляр. Другим вариантом заключается в размещении jsp:setProperty в теле элемента jsp:useBean , как это показано в другом примере:

...

При этом jsp:setProperty выполняется лишь в том случае, если был создан новый экземпляр объекта, а не тогда, когда находится уже существующий.

Действие jsp:setProperty допускает применение следующих четырех атрибутов:

Атрибут Применение
name Этот обязательный атрибут служит для задания bean, свойства которого будут устанавливаться. Элемент jsp:useBean должен предшествовать использованию элемента jsp:setProperty .
property Этот обязательный атрибут устанавливает свойство, которое вы хотите установить. Однако существует частный случай: значение "*" означает что все параметры запроса, чьи имена совпадают с именами свойств bean будут переданы соответствующему методу установки свойств.
value Этот необязательный атрибут устанавливает значение свойства. Строковые значения автоматически преобразуются в числовые, boolean , Boolean , byte , Byte , char и Character с использованием стандартного метода valueOf соответствующего класса. Например, значение "true" для свойства boolean или Boolean будет конвертированно при помощи метода Boolean.valueOf , а значение "42" для свойства int или Integer будет конвертированно при помощи метода Integer.valueOf . Вы не можете одновременно использовать атрибуты value и param , но можете вообще их не использовать. Ознакомьтесь с описанием атрибута param , которое представлено ниже.
param Этот необязательный атрибут устанавливает параметр запроса, используемый для получения свойства. Если в текущем запросе этот параметр отсутствует, никаких действий не происходит: система не передает значение null методу устанавливающему свойства. Таким образом, допустимо использование в bean свойств по умолчанию, переопределяя их лишь в том случае если этого требуют параметры запроса. Например, следующий фрагмент означает следующее: "установить свойство numberOfItems в соответствии со значением параметра запроса numItems , а если такой параметр в запросе отсутствует - никакие действия не выполняются." Если вы не используете ни value, ни param , это приравнивается к тому, как если бы вы задали имя param совпадающее с именем property . Вы можете применить этот принцип автоматического использования свойств запроса, чьи имена совпадают с именами свойств и пойти далее, задав в качестве имени свойства "*" и опустив параметры value и param . В этом случае сервер обработает допустимые свойства и параметры запроса, на предмет совпадения их с идентичными именами.
Далее приведен пример в котором используется bean для создания таблицы простых чисел. Если существует параметр numDigits в данных запроса, он передается в свойство bean numDigits . Аналогично для numPrimes .

JspPrimes.jsp

Для того чтобы скачать исходник JSP, щелкните правой кнопкой мыши на ссылке на исходный код . Вы можете также скачать исходный код для NumberedPrimes bean на который ссылается элемент jsp:useBean . Просмотрите каталог исходных кодов для других классов Java используемых в NumberedPrimes . Лучший способ опробовать это в сети - начать с HTML страницы, которая является внешним интерфейсом .

Многократное использование JavaBeans в JSP

Многократное использование JavaBeans в JSP

Несколько символьных простых чисел:

8.5 Действие jsp:getProperty

Этот элемент определяет значение свойства bean, конвертирует его в строку и направляет в поток вывода. Для выполнения действия требуется задание двух атрибутов: имени bean, которое предварительно задается в действии jsp:useBean, и имя свойства, значение которого должно быть определено. Далее приведен пример использования этого действия. За другими примерами обратитесь к разделам и .

...

  • Количество предметов:
  • Цена за штуку:

8.6 Действие jsp:forward

Это действие позволяет вам передать запрос другой странице. Оно использует один атрибут, page , который должен содержать относительный URL. Ей может быть как статическое значение, так и вычисляемое в процессе запроса, что и показано на следующих двух примерах:

8.7 Действие jsp:plugin

Это действие позволяет вам вставить элемент OBJECT или EMBED (в зависимости от типа используемого броузера), необходимый для запуска апплетов, использующих plugin Java.

9. Комментарии и символы цитирования

Ниже приведены несколько конструкций, которые вы можете использовать в тех случаях, когда требуется вставить комментарий или использовать символы, зарезервированные для данного тэга:

Синтаксис Назначение
<%-- комментарий --%>

Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter
ПОДЕЛИТЬСЯ: