Главная » Java, Web » Библиотека JSP-ярлыков сервера Blazix

0

Сервер Blazix содержит в своем составе библиотеку ярлыков JSP (спецификация JSP 1.1 по состоянию сервера на конец лета 2002 г.). Для доступа к библиотеке ярлыков сервера Blazix в JSP-странщу необходимо вставить следующую инструкцию:

<се@ taglib prefix="blx" uri="/blx.tld" %>

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

Ярлыки обработки форм

?   Ых: setProperty

?   Ых: getProperty

Ярлыки для работы с почтой

?   Ых: email

?   blx:emailTo

?   Ых: emailCc

?   Ых: emailBcc

?   Ых: emailTo

?   Ых: emailSub j ect

?   Ых: emailAttach

Ярлыки для обработки SQL-запросов

?   Ых: sqlConnection

?   Ых: sqlQuery

?   Ых: sqlExecuteQuery

?   Ых: sqlGet

?   Ых: sqlExecuteUpdate

Ярлыки для поддержки языков

?   Ых: xlt

?   Ых: xltFile

Ярлыки обработки форм Ярлык blx:setProperty

Аналогично ярлыку jsp: set Property, улучшена обработка пустых строк. Атрибуты перечислены в табл. П3.2.

Таблица П3.2. Атрибуты ярлыка Ых: setProperty

Имя

атрибута

Описание атрибута

Обязателен или нет

Name

Имя компонента EJB

Обязателен

property

Свойство компонента EJB, для задания всех свойств указывается *

Обязателен

onError

Имя метода, вызываемого при возникновении исключительной ситуации:

public void onError(String fieldname, String value, Exception exception);

Необязателен

stringNull

Если форма посылает пустую строку, то устанавливать ее значение равным null или пустой строке, соответственно задается значение для атрибута

true или false

Необязателен

Таблица П3.2 (окончание)

Имя

атрибута

Описание атрибута

Обязателен или нет

checkbox

Список имен всех полей для выбора в форме, разделенных запятыми

Необязателен

emptylnt

Целое значение, которое будет установлено целой величине, если форма посылает пустое поле для целого значения. По умолчанию 0

Необязателен

Ярлык blx:getProperty

Ярлык получения значения свойства, противоположен ярлыкам j sp:setProperty и bix:setProperty. Ярлык не получает свойство из формы, а задает значение свойства формы, получая это значение от компонента EJB, т. е. из Java-программы. Ярлык работает с полями input, select и textarea. Атрибуты ярлыка описаны в табл. ПЗ.З.

Таблица ПЗ.З. Атрибуты ярлыка Ых: де tProperty

Имя

атрибута

Описание

Обязателен или нет

name

Имя компонента EJB

Обязателен

property

Свойство (для всех свойств используется)

Обязателен

dateFormat

Способ форматирования исходящего объекта даты: short, medium, long ИЛИ full

Необязателен

timeFormat

Форматирование времени в объекте даты: short, medium, long ИЛИ full

Необязателен

emptylnt

Целое значение, используемое для подмены пустых значений целых переменных в форме

 

\ Пример                                                                                                                                                    !

<blx:getProperty name=testBean property=* dateFormat="short">

<FORM METHOD=POST ACTION=target.jsp>

Value < IN PUT NAME=value TYPE=TEXTXBR>

<INPUT TYPE=SUBMIT>

</FORM>

</blx:getProperty>

Ярлыки для работы с почтой

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

Ярлык требует задания некоторых обязательных атрибутов, а именно, host и from. Host — это имя SMTP-сервера, from — это e-mail-адрес отправителя. Например:

<Ых: email host="mail .myhost. com" from="me@myhost. com"

to="somebody@somewhere.com"> Hello. Just testing this email tag. </blx:email>

Поле то может быть задано с применением ярлыка <bix:emaiiTo> (вместо указания атрибута в ярлыке Ых:email):

<се String target = "somebody@somewhere.com"; %>

<Ых: email host="myhost. com" from="me@myhost. com">

<blx:emailTo><ce= target ce></blx:emailTo>

Hello. Just testing this email tag.

</blx:email>

Полям "cc" и "все" аналогично соответствуют ярлыки <bix:emaiicc> и <Ых: emailBco.

Наконец, ярлык <bix:emaiiAttach> используется для вставки файлов приложений. Этот ярлык можно использовать для посылки почты, форматированной в виде HTML, поскольку такая почта представляет собой прикрепленный к сообщению HTML-файл.

I Пример отправки почты

<Ых: email host="myhost. com" from="me@myhost. com"

to="somebody@somewhere.com"> Hello. Проверка, это почта с приложенным файлом. <blx:emailAttach file="C:\file.txt"

contentType="text/plain" name="file.txt"/> </blx:email>

Если в ярлыке bix:emaiiAttach не указан атрибут file, то приложение к почтовому сообщению начинается сразу с началом тела этого ярлыка, например:

<Ых: email host="myhost. com" from="me@myhost. com"

to="somebody@somewhere.com"> Hello. Проверка. Это почта с приложением. <blx:emailAttach name="test.html" contentType="text/html ">

<j sp:include page="/myj sp.j sp"/>

</blx:emailAttach>

</blx:email>

С применением jsp:include можно вставлять только JSP-файлы. Для прочих файлов следует применять @include.

Для отправки HTML-почты с приложениями (при этом получится более одного приложения), HTML-файл сообщения должен быть первым приложением, кроме того, для него должны быть заданы значения iniine=true, contentType=text/html, plainText=true В ярлыке emailAttach. В ярлыке email при этом следует указать noText=true. Подробнее ярлыки описаны далее по тексту.

Ярлык blx:email

Ярлык посылает почту, направляя ее указанному почтовому серверу по указанному адресу получателя. Адрес получателя (поле то) может быть задан также в ярлыке bix:emaiiTo. Необходимо задать хотя бы один адрес получателя. Значения атрибутов приведены в табл. П3.4.

Таблица П3.4. Атрибуты ярлыка Ых: email

Имя

Описание

Обязателен

атри

 

или нет

бута

 

 

host

SMTP-сервер

Обязателен

from

Адрес отправителя

Обязателен

to

Адрес получателя

Необязателен

subject

Поле subject

Необязателен

noText

Используется при наличии приложенных файлов. Устанавливается равным true, если нет простого текста сообщения, тогда первое приложение становится текстом сообщения

Необязателен

Ярлык blx:emailTo

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

Ярлык blx:emailCc

Ярлык используется для задания значения поля се заголовка сообщения. Адрес получателя копии указывается в теле элемента, описываемого ярлыком. Ярлык используется в теле элемента Ых:email. Не имеет атрибутов.

Ярлык blx:emailBcc

Ярлык используется для задания значения поля всс заголовка сообщения. Адрес получателя копии указывается в теле элемента, описываемого ярлыком. Ярлык используется в теле элемента Ых:email. Не имеет атрибутов.

Ярлык blx:emailSubject

Ярлык используется для задания значения поля subject заголовка сообщения. Адрес получателя копии указывается в теле элемента, описываемого ярлыком. Ярлык используется в теле элемента Ых:email. Не имеет атрибутов.

Ярлык blx:emailAttach

Ярлык используется для вставки приложений в почтовое отправление. Используется в теле элемента Ых:email. Прилагаемый файл задается в качестве значения атрибута file. Если это значение не указано, то приложение начинается с начала тела элемента, описываемого этим атрибутом. Все атрибуты ярлыка приведены в табл. П3.5.

Таблица П3.5. Атрибуты ярлыка Ых: emailAttach

Имя атрибута

Описание

Обязателен или нет

File

Имя прилагаемого файла

Необязателен

Name

Имя приложения

Необязателен

contentType

Тип приложения, например, text/plain — текстовые файлы, text/html — файлы HTML,

image/gif и image/j peg — рисунки, application/octet-stream — двоичные файлы, application/x-unknown-content-type

Необязателен

Inline

Значение задается равным true для того, чтобы указать необходимость отображения содержания первого приложения в качестве тела сообщения (если это HTML-файл). При этом полезно также задать значение true для атрибута plainText

Необязателен

plainText

Задается значение true, чтобы указать, что приложение представлено в виде простого текста без кодировки. Это нужно тогда, когда используются текстовые приложения, например, приложение HTML

Необязателен

targetFilename

Это имя файла, которое будет предложено для запоминания полученного приложения

Необязателен

Charset

Если набор символов не US-ASCII, то этот набор указывается в качестве значения атрибута

Необязателен

Ярлыки для работы с базами данных

Ярлыки для работы с SQL позволяют создавать SQL-запросы из JSP- страницы и выполнять их. Ярлыки выполнения SQL-запроса — это ярлыки

<Ых: sqlExecuteQuery> И <Ых: sqlExecuteUpdateX Если запрос не возвращает никакого значения, то используется ярлык <Ых: sqiExecuteUpdate>; для запросов, которые возвращают значения, применяется ярлык <Ых: sqiExecuteQuery>. Возвращаемые значения затем можно просмотреть. Пример использования этих ярлыков приведен ниже. <TABLE>

<TRXTD>Item</TDXTD>Price</TDX/TR>

<Ых:sqlExecuteQuery resultSet="resultat" queryRef="mojZaprosa"> <TR>

<TD><%= resultat.getString("Item") %></TD> <TD><%= resultat.getFloat("Price") %></TD> </TR>

</blx:sqlExecuteQuery> </TABLE>

В этом примере результат выполнения запроса помещается в переменную

resultat, доступ к которой осуществляется из тела элемента, описанного

ярлыком. Запрос определяется в элементе bix:sqiQuery:

<Ых: sqlQuery id="moj Zaprosa">

SELECT Item, Price FROM PriceTable

</blx:sqlQuery>

Строка запроса может содержать выражения JSP, например,

<Ых: sqlQuery id="moj Zaprosa"> SELECT Item, Price FROM <%= tableName %> </blx:sqlQuery>

Необходимо указать базу данных, к которой направляется запрос. Команда выполнения запроса <Ых: sqiExecuteQuery> должна быть размещена в теле элемента <Ых:sqiconnection>. Другой способ указания базы данных — задание ее имени в ярлыке запроса. Имя базы данных (источник данных, имя связи) должно быть указано в файле конфигурации Web-cepeepa.

Для получения единственного значения можно воспользоваться ярлыком <blx:sqlGet>, например, <P>Nubmer of Total Items =

<blx:sqlGet query="SELECT COUNT(*) FROM Items"/>

Ярлык blx:sqlConnection

Имя данных JDBC как имя JNDI. Атрибуты:

? jndiName — имя JNDI для связи с базой данных. Обязателен.

Ярлык blx:sqlQuery

Ярлык используется для записи SQL-запроса (который может включать в себя выражения JSP). Запросу сопоставляется id, по которому запрос затем может быть вызван и использован.

Атрибуты:

? id — идентификатор запроса, по которому запрос может быть доступен из других ярлыков. Обязателен.

Ярлык blx:sqlExecuteQuery

Ярлык выполнения запроса. Имеет один обязательный атрибут resuitset. Запрос может быть указан либо в виде значения атрибута query, либо путем указания идентификатора id отдельного элемента запроса sqiQuery в атрибуте queryRef. Если этот ярлык используется вне элемента sqiconnection, то необходимо задание значения атрибута connection. Атрибуты описаны в табл. П3.6.

Таблица П3.6. Атрибуты ярлыка Ых: sqlExecu teQuery

Имя

атрибута

Описание

Обязателен или нет

resultSet

Имя переменной, которая будет создана и доступна внутри тела элемента, описанного ярлыком. Ссылка на объект типа j ava. sql. ResultSet

Обязателен

Query

Строка запроса

Необязателен

queryRef

Ссылка на идентификатор id запроса в ярлыке

<Ых: sqlQuery>

Необязателен

connection

Имя JNDI источника данных

Необязателен

Ярлык blx:sqlGet

Ярлык используется для выполнения запроса, который возвращает единственное значение. Результат выводится в поток JSP-вывода. Строка запроса задается либо в виде значение атрибута query, либо используется идентификатор существующего запроса в элементе sqiQuery, идентификатор указывается как значение атрибута queryRef. Атрибуты описаны ниже (табл. П3.7).

Таблица ПЗ.7. Атрибуты ярлыка Ых: sqiGet

Имя

Описание

Обязателен

атрибута

 

или нет

Query

Строка запроса

Необязателен

Таблица ПЗ. 7 (окончание)

Имя

Описание

Обязателен

атрибута

 

или нет

QueryRef

Ссылка на элемент blx:sqlQuery по идентифи

Необязателен

 

катору id, содержащий строку запроса

 

connection

Имя JNDI источника данных

Необязателен

Ярлык blx:sqlExecuteUpdate

Этот ярлык используется для выполнения запросов, которые содержат инструкции insert или update. Запрос не имеет возвращаемых результатов. Строка запроса может быть указана в качестве значения параметра query или путем ссылки на существующий элемент запроса sql Query путем указания идентификатора id этого элемента в качестве значения атрибута queryRef. Если элемент запроса не вложен в тело элемента sqiconnection, то необходимо указать имя JNDI источника данных в качестве значения атрибута connection. Список атрибутов приведен в табл. П3.8.

Таблица ПЗ.8. Атрибуты ярлыка Ых: sglExecuteUpdate

Имя

Описание

Обязателен

атрибута

 

или нет

Query

Строка запроса

Необязателен

QueryRef

Ссылка на запрос в элементе

Необязателен

 

<Ых: sqiQuery>

 

Connection

Имя JNDI источника данных

Необязателен

Ярлыки для работы с естественными языками

Сервер Blazix предлагает использовать ярлыки работы с естественными языками для выделения фрагментов JSP-страниц, использующих естественные языки, и отображения различных вариантов (различных переводов) во время просмотра страниц. Существует два ярлыка: <bix:xitFiie> и <bix:xit>.

Текст, который должен быть переведен, помещается между ярлыками <Ых:xitFiie> и </Ых: xitFiiex Этот элемент содержит имя (базовое) файла, имя файла должно содержать суффикс, соответствующий языку. Так, например, если базовое имя файла filename, а язык пользователя немецкий, то полное имя файла будет f iiename_de, поскольку код немецкого языка de. Если базовое имя файла с расширением transiate.txt, то полное имя для французского языка будет transiate_fr.txt. Ярлык <bix:xit> используется для задания текста, который следует перевести.

Пример

<Ых: xltFile file="translate. txt"> <P><blx:xlt ref="intro"> Introduction to this site. . </blx: xltxbr>

<blx:xlt ref="getname">Enter your name here</blx:xlt> <FORM METHOD=POST ACTION=savename.jsp> <INPUT NAME=name TYPE=TEXT>

<INPUT TYPE=SUBMIT VALUE=<blx:xlt ref="submit">Submit</blx:xlt»

</FORM>

</blx:xltFile>

Файл перевода имеет такой формат:

tag=value

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

Пример translate_fr.txt

intro=Introduction а -се site

getname=ecrivez votre nom ici submit=Soumettent

Ярлык blx:xltFile

Ярлык используется для создания интернационализованных страниц JSP. Атрибуты:

?   File — имя файла перевода. Обязательный атрибут.

Ярлык blx:xlt

В элементе помещается текст для перевода. Ярлык располагается в элементе

xltFile.

Атрибуты:

?   Ref — имя ссылки. Обязательный атрибут.

Источник: Будилов В. А. Интернет-программирование на Java. — СПб.: БХВ-Петербург, 2003. — 704 е.: ил.

По теме:

  • Комментарии