程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> 實現一個簡單的JSP自定義標簽開發過程

實現一個簡單的JSP自定義標簽開發過程

編輯:關於JSP

       1.首先創建實現了Tag功能的輔助類,功能是改變主體文本的顏色。這個類可以繼承TagSupport或者BodyTagSupport,兩者的差別是前者適用於沒有主體的標簽,而後者適用於有主體的標簽。如果選擇繼承TagSupport,可以實現doStartTag和doEndTag兩個方法實現Tag的功能,如果選擇繼承BodyTagSupport,可以實現doAfterBody這個方法。核心代碼如下所示:import java.io.IOException;

      import javax.servlet.jsp.JspWriter;

      import javax.servlet.jsp.tagext.*;

      /** *//**

      *

      * @author Administrator

      */

      public class MessageWriterTagHandler extends BodyTagSupport...{

      //主體的字體顏色屬性

      protected String _fontColor = "black";

      /** *//** Creates a new instance of MessageWriterTagHandler */

      public MessageWriterTagHandler() ...{

      }

      public String getFontColor() ...{

      return _fontColor;

      }

      public void setFontColor(String fontColor) ...{

      _fontColor = fontColor;

      }

      public int doAfterBody()...{

      BodyContent bc = this.getBodyContent();

      JspWriter out = bc.getEnclosingWriter();

      StringBuffer sb = new StringBuffer();

      try ...{

      sb.append("

      sb.append(_fontColor);

      sb.append("">");

      sb.append(bc.getString());

      sb.append("");

      out.print(sb.toString());

      } catch (IOException ex) ...{

      //ex.printStackTrace();

      }

      return EVAL_PAGE;

      }

      }

      2.編寫.tld文件,該文件是tag的描述,需要說明的是tag的attribute的required要設置為true,否則的話標簽的功能有可能無法使用。具體原因我還不清楚。tld的代碼如下所示:

      

      

      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

      xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_0.xsd">

      1.0

      writer

      tags/MessageWriter

      

      write

      com.lilijun.tags.MessageWriterTagHandler

    JSP

      

      fontColor

      true>

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved