Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
7
Добавлен:
27.11.2024
Размер:
390.91 Кб
Скачать

TLD-файл

TLD-файл содержит следующие тэги:

<short-name> краткое название библиотеки

<display-name> логическое имя (псевдоним) отображаемое в IDE и инструментарии

<tlib-version> версия библиотеки по умолчанию 1.0

<uri> задает URI которое определяет расположение библиотеки

<description> описание библиотеки

И др.

11

TLD-файл

Примерный вид пустого TLD-файла:

<?xml version="1.0" encoding="UTF-8"?>

<taglib version="2.0" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_0.xsd">

<tlib-version>1.0</tlib-version> <short-name>mylib</short-name> <uri>/WEB-INF/tlds/mylib</uri>

</taglib>

12

2. Создать java-класс обработчика тэга

(SimpleTagSupport)

package pack;

import java.text.SimpleDateFormat; import java.util.Date;

import javax.servlet.jsp.*;

import javax.servlet.jsp.tagext.*;

public class DateTagHandler extends SimpleTagSupport { protected String mask = "dd.MM.yyyy";

protected SimpleDateFormat sdf = new SimpleDateFormat(mask);

public void doTag() throws JspException { JspWriter out = getJspContext().getOut(); try {

out.println(sdf.format( new Date())); JspFragment f = getJspBody();

if (f != null) f.invoke(out); } catch (java.io.IOException ex) {

throw new JspException("Error in date tag", ex);

}

}

}

13

2. Или создать тэг-файл и с использованием JSP-синтаксиса

Содержимое файла «mytag.tag»

<%@tag description="table message" pageEncoding="windows-1251"%>

<%@attribute name="message"%>

<table border="1" align="center" > <tr><td>

${message} </td></tr> </table>

14

Связывание файла-обработчик или тэг-файла с TLD-файлом

В TLDфайл помещается информация о

тэгах:

<tag> <name>date</name>

<tag-class>pack.DateTagHandler</tag-class> <body-content>scriptless</body-content>

</tag> <tag-file>

<name>mytag</name> <path>/WEB-INF/tags/mytag.tag</path>

</tag-file>

15

Использование библиотеки

<%@page contentType="text/html" pageEncoding="windows-1251" %>

<%@taglib prefix="my" uri="/WEB-INF/tlds/mylib" %>

<html>

<head>

</head>

<BODY>

Текущая дата: <my:date/> <br>

Сообщение в таблице: <my:mytag message="Новости"/>

</BODY>

</html>

16