jsp(SUN企業級應用的首選)標記學習筆記(標准化越來越近了):namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
ginkou.fly 2002-9-18
1. 概述
1) 什麼是jsp(SUN企業級應用的首選)標記
顧名思義,jsp(SUN企業級應用的首選)標記就是在jsp(SUN企業級應用的首選)文件中使用的標記。它類似於html語法中的標記,像head 、table 。通過在jsp(SUN企業級應用的首選)文件中引用它(就像使用html標記那樣),可以更方便的實現對Java 代碼模塊的重用。
2) 為什麼要使用jsp(SUN企業級應用的首選) 標記技術(與javabean相比)
好處:
J jsp(SUN企業級應用的首選) 標記可以處理jsp(SUN企業級應用的首選)正文的內容,比如改變文本顯示樣式;而javabean不可以。
J jsp(SUN企業級應用的首選)標記接口簡單,易於使用,也易於開發和維護。
壞處:
L jsp(SUN企業級應用的首選)標記在進行設置時要比javabean復雜很多,體現在jsp(SUN企業級應用的首選)標記庫描述文件(*.tld)的配置上。
L jsp(SUN企業級應用的首選)標記實現的功能遠不如javabean強大。
L 當前只要jsp(SUN企業級應用的首選)1.1支持jsp(SUN企業級應用的首選)標記,而jsp(SUN企業級應用的首選)1.0和1.1都支持對Bean的使用。
2. jsp(SUN企業級應用的首選)標記的開發簡介。
jsp(SUN企業級應用的首選)標記的開發需要編寫2種獨立的文件。一種是定義標記功能的java類文件,一種是將xml(標准化越來越近了)元素名稱(標記)映射到標記實現的標記庫描述符文件。
⑴ 編寫標記處理程序類文件
需要繼承javax.servlet.jsp(SUN企業級應用的首選).tagext.TagSupport類;
簡單示例:
//文件名ExampleTag.java
import javax.servlet.jsp(SUN企業級應用的首選).*;
import javax.servlet.jsp(SUN企業級應用的首選).tagext.*;
import java.io.*;
public class ExampleTag extends TagSupport {
//程序的執行起始點
public int doStartTag() {
try {
jsp(SUN企業級應用的首選)Writer out=pageContext.getOut();
out.print(“Custom tag example”);
}catch (IOException ioe) {
System.out.println(“Error in ExampleTag : “ + ioe);
}
return(SKIP_BODY);
//當標記包括的內容為空時返回SKIP_BODY,表示標記功能
//已執行完成
}
}
編譯好的class文件將位於服務器的的特定位置。
⑵ 編寫標記庫描述符文件
將標記名和其代表的功能實現聯系在一起。
簡單示例:
<!--文件名:csajsp(SUN企業級應用的首選)-taglib.tld-->
<? xml(標准化越來越近了) version=”1.0” encoding=”ISO-8859-1” ?>
<!DOCTYPE taglib
PUBLIC “-//Sun Microsystem,Inc.//DTD jsp(SUN企業級應用的首選) Tag Library 1.1//EN”
http://java.sun.com/j2ee/dtds/web-jsp(SUN企業級應用的首選)taglibrary_1_1.dtd>
//以上是標准的文件頭
//以下是標簽庫描述
<tlibversion>1.0</tlibversion> //Tag 庫的版本
<jsp(SUN企業級應用的首選)version>1.1</jsp(SUN企業級應用的首選)version> //jsp(SUN企業級應用的首選) 庫的版本
<shortname>csajsp(SUN企業級應用的首選)</shortname>//自定義標記前綴名
<uri></uri> //標記描述符文件的