Главная > Java > JSP - создавать пользовательские теги

JSP - создавать пользовательские теги

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

JSP пользовательские теги:
Все пользовательские теги JSP тегов реализует интерфейс. Чтобы узнать более подробную информацию о тегов интерфейса относятся к JSP Custom Tag интерфейс . Но мы не напрямую использовать тег интерфейса Вместо этого мы используем TagSupport и BodyTagSupport, это потому, что некоторые умолчанию реализации тегов интерфейс уже реализован в TagSupport BodyTagSupport и так становится легче писать собственный код тега.

Разница между TagSupport и BodyTagSupport:
В TagSupport мы определим все атрибуты, необходимые для отображения данных, где, как в BodyTagSupport перейдем атрибуты и тело содержимого JSP-тегов. BodyTagSupport не часто используется, если вы хотите управлять содержимого тела. Переходя атрибуты пользовательских тегов не является обязательным.

Пример TagSupport:

  <test /> :showTime 

Пример BodyTagSupport:

  <test> :showTime
 Текущее время:
 </> Тест 

Адрес электронной почты:


Если Вы видите в BodyTagSupport перейдем некоторые тела содержимое XML-тегов. Хотя тело содержания не является обязательным, но это будет ухудшать производительность, если вы не используете для вашего тела пользовательские теги и вы не используете TagSupport.

Важные функции в Call JSP Таможенный кодекс тегов:
doStartTag ():
Эта функция вызывается, когда JSP-теги получить инициализации. Эта функция целое значение, которое уже определено в тегов интерфейс в виде имени переменной. Мы обычно возвращают SKIP_BODY. SKIP_BODY рассказывает JSP двигателя, чтобы пропустить теле JSP-теги.

doEndTag ():
Эта функция вызывается сразу после doStartTag () функцию обработки делается. Как и в doStartTag () эта функция также возвращает целое значение. Обычно мы вернемся EVAL_BODY. EVAL_BODY рассказывает JSP двигателя обработки оставшихся код JSP.

Простые Таможенный кодекс тегов:

  1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
  ; пакет com.hiteshagrawal;

 ; импорт java.io. *;
 ; импорт javax.servlet.jsp .*;
 ; импорт javax.servlet.jsp.tagext.TagSupport;

 TagSupport { общественного класса испытаний распространяется TagSupport (
    doStartTag ( ) throws JspException { общественного Int doStartTag () (бросает JspException
       попробуйте (
    	   ( ) ; JspWriter из = pageContext. Джтаут ();
    	   "This is my first tag!" ) ; вне. печати ("Это мой первый тэг");
       ( IOException ioe ) { ) Поймать (IOException МОР) (
      	  ; МОР. printStackTrace ();
          "IOException while writing data to page" + ioe. getMessage ( ) ) ; проливают новый JspException ("IOException при записи данных на страницу" + МОР. GetMessage ());
       )
       возвращение SKIP_BODY;
    )

    doEndTag ( ) throws JspException { общественного Int doEndTag () (бросает JspException
      возвращение EVAL_PAGE;
    )
 ) 

Кодекс Пояснение:

  • Класс распространяется TagSupport указанием мы не используем BodyTagSupport класса.
  • doStartTag () Функция записывает содержимое строки, используя pageContext.getOut (), это формирует вывод, что получите, написанный на ваш JSP-страницы.
  • doStartTag () Функция возвращает SKIP_BODY. Значение этой переменной уже определены в тегов интерфейс.
  • doEndTag () Функция возвращает EVAL_PAGE. Значение этой переменной уже определены в тегов интерфейс.

Реализация JSP Tag кода Java в JSP:
Теперь нашим следующим шагом будет создание тегов Дескриптор библиотеки (TLD) файл. Он сообщает о JSP двигателя JSP Custom Tag, которая поможет использовать внутри JSP кодекса.

  = "ISO-8859-1" ?> <? XML-версия = "1,0" кодировка = "ISO-8859-1"?>
 <! DOCTYPE TagLib PUBLIC "- / / Sun Microsystems, Inc / / DTD JSP Tag Library 1.2 / / EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
 <taglib>
	 1.0 </tlib > <tlib -version> 1,0 </ tlib>
	 1.2 </jsp > <jsp -version> 1,2 </> JSP
	 test </short > <short тест> <-name / краткое>

	 <тэг>
		 <имя> TestingTag </> имя
    		 <tagclass> com.hiteshagrawal.Test </> tagclass
    		 <bodycontent> пустой </ bodycontent>
	 </ Тэг>
 </ TagLib> 

Если вы видите, я определил для файла TLD выше код JSP написано. Ваша система пользовательского JSP Tag должен быть написан внутри "тэг" элемент. Позвольте мне explaing письменного XML-файла:

  • tlib-версия - Как следует из названия предложить это относится к Tag Library версия
  • JSP-версия - Относится к версии JSP вы используете
  • краткое имя - Имеются в виду имя JSP Custom Tag, что ваши JSP-код будет ссылкой на
  • имя - ссылается на имя пользовательских тегов
  • tagclass - Refersn к классу структура, используемая для JSP Метки
  • bodycontent - используется в случае мы используем BodyTagSupport в TagSupport мы продолжаем эту пустую

Сохранить файл TLD по названию test.tld в папке WEB-INF.

TLD номер файла в JSP страницу:
Есть несколько способов refererence TLD файл в JSP и я обсуждали один из них в этой статье.

JSP Реализация пользовательских тегов JSP:

  "test" uri = "/WEB-INF/test.tld" %> <% @ TagLib префикс = "тест" URI = "/ WEB-INF/test.tld"%>
 <HTML>
 <Головы>
   JSP Custom Tag Demo </ title > <Название> JSP Custom Tag Демо </> название
 </> Голову
 <Тело>
		 TestingTag /> <Тест: TestingTag />
 </> Тела
 </ HTML> 

JSP кодекса Пояснение:
Если вы видите, я делаю ссылку на TagLib которая будет вызвана по имени "испытание". Кроме того, я передаю путь TLD файл будет в виду.
В заключение я призываю Custom Tag как показано в строке №: 7

JSP Вывод:
Когда мы выполнили выше код JSP, мы получим следующий результат.

  Это мой первый теги! 

Система пользовательского поиска


Популярные статьи:

Делите и наслаждайтесь:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • email
  • IndianPad
  • LinkedIn
  • Live
  • MySpace
  • Netvibes
  • RSS
  • Technorati
  • Yahoo! Bookmarks
  • Yahoo! Buzz
  • Reddit
  • Add to favorites
  • PDF
  • Twitter
Tags: Категории: Java Метки:
  1. 28 декабря 2008 в 12:04 | # 1

    На самом деле самый простой способ их реализации используются теги файлов. IWebMvc интенсивно использует метки, которые были созданы из файлов и / или классы. Посмотрите, если интересует то, "реальном мире" примеров.

  2. 29 декабря 2008 в 00:21 | # 2

    См. также Coldtags комплекте: http://www.servletsuite.com/jsp.htm
    Это крупнейший набор пользовательских тегов JSP через сеть.

  3. 17 января 2009 в 3:23 | # 3

    Хороший учебник.

  4. Юва
    6 мая 2009 в 22:24 | # 4

    Nice учебник, легко понять. Спасибо за то же самое.

  1. 27 марта 2010 в 08:30 | # 1