JSP標(biāo)記學(xué)習(xí)筆記XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />
ginkou.fly 2002-9-18
1. 概述
1) 什么是JSP標(biāo)記
顧名思義,JSP標(biāo)記就是在JSP文件中使用的標(biāo)記。它類(lèi)似于html語(yǔ)法中的標(biāo)記,像head 、table 。通過(guò)在JSP文件中引用它(就像使用html標(biāo)記那樣),可以更方便的實(shí)現(xiàn)對(duì)Java 代碼模塊的重用。
2) 為什么要使用JSP 標(biāo)記技術(shù)(與javabean相比)
好處:
J JSP 標(biāo)記可以處理JSP正文的內(nèi)容,比如改變文本顯示樣式;而javabean不可以。
J JSP標(biāo)記接口簡(jiǎn)單,易于使用,也易于開(kāi)發(fā)和維護(hù)。
壞處:
L JSP標(biāo)記在進(jìn)行設(shè)置時(shí)要比javabean復(fù)雜很多,體現(xiàn)在JSP標(biāo)記庫(kù)描述文件(*.tld)的配置上。
L JSP標(biāo)記實(shí)現(xiàn)的功能遠(yuǎn)不如javabean強(qiáng)大。
L 當(dāng)前只要JSP1.1支持JSP標(biāo)記,而JSP1.0和1.1都支持對(duì)Bean的使用。
2. JSP標(biāo)記的開(kāi)發(fā)簡(jiǎn)介。
JSP標(biāo)記的開(kāi)發(fā)需要編寫(xiě)2種獨(dú)立的文件。一種是定義標(biāo)記功能的java類(lèi)文件,一種是將xml元素名稱(chēng)(標(biāo)記)映射到標(biāo)記實(shí)現(xiàn)的標(biāo)記庫(kù)描述符文件。
⑴ 編寫(xiě)標(biāo)記處理程序類(lèi)文件
需要繼承javax.servlet.jsp.tagext.TagSupport類(lèi);
簡(jiǎn)單示例:
//文件名ExampleTag.java
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
import java.io.*;
public class ExampleTag extends TagSupport {
//程序的執(zhí)行起始點(diǎn)
public int doStartTag() {
try {
JspWriter out=pageContext.getOut();
out.print(“Custom tag example”);
}catch (IOException ioe) {
System.out.println(“Error in ExampleTag : “ + ioe);
}
return(SKIP_BODY);
//當(dāng)標(biāo)記包括的內(nèi)容為空時(shí)返回SKIP_BODY,表示標(biāo)記功能
//已執(zhí)行完成
}
}
編譯好的class文件將位于服務(wù)器的的特定位置。
⑵ 編寫(xiě)標(biāo)記庫(kù)描述符文件
將標(biāo)記名和其代表的功能實(shí)現(xiàn)聯(lián)系在一起。
簡(jiǎn)單示例: