Java Server Page - Пример тега с телом

Пример использования тега с атрибутом и телом на странице JSP включает java-класс BodyTag.java и страницу BodyTag.jsp. На странице JSP перед применением тега включена ссылка на библиотеку тегов /WEB-INF/tlds/template.tld. Размещение тегов на страница JSP выделено бледным цветом. В дескрипторе TLD определен атрибут тега в виде параметра text.


Листинг JSP-страницы BodyTag.jsp
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<%@ page contentType="text/html;charset=windows-1251" %>
 
<html>
  <head>
   <%@ taglib uri="/WEB-INF/tlds/template.tld" prefix="template" %>
   <title><Пример тега с атрибутом и телом/></title>
  </head>
  <body>
   <template:bodyTag textSize="h1">1. Страница JSP </template:bodyTag>
   <template:bodyTag textSize="h2">1.1. Библиотеки тегов </template:bodyTag>
   <template:bodyTag textSize="h3"> Пример использования библиотеки тегов в JSP </template:bodyTag>
  </body>
</html>

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Листинг тега (java-класса) BodyTag.java
 
package tags.templates;
 
import java.io.IOException;
 
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.TagSupport;
import javax.servlet.jsp.JspWriter;
import javax.servlet.ServletResponse;
import javax.servlet.ServletRequest;
 
public class BodyTag extends TagSupport
{
  private String textSize;
  //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  public String getTextSize () { return textSize; }
  //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  public void setTextSize ( String size ){ this.textSize= size; }
  //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  public int doStartTag () throws JspException
  {
   try
   {
    JspWriter out = pageContext.getOut();
    out.print("<" + textSize + ">");
   } catch(IOException e)
   {
    System.out.println("Exception in BodyTag : " + e);
   }
   return EVAL_BODY_INCLUDE;
  }
  //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  public int doEndTag() throws JspException
  {
   try
   {
    JspWriter out = pageContext.getOut();
    out.print("<" + textSize + ">");
   } catch(IOException e)
   {
    System.out.println("Exception in BodyTag : " + e);
   }
   return EVAL_BODY_INCLUDE;
  }
 
}

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Код описания тега BodyTag.java в дескрипторе TLD template.tld
 
<tag>
  <name>bodyTag</name>
  <tag-class>tags.templates.BodyTag</tag-class>
  <body-content>JSP</body-content>
  <attribute>
   <name>textSize</name>
   <required>true</required>
   <type>java.lang.String</type>
  </attribute>
</tag>


Партнеры:


Rambler's Top100 Рейтинг@Mail.ru