1、編寫標籤,繼承於標籤類:
importjava.io.IOException;
importjavax.servlet.jsp.JspException;
importjavax.servlet.jsp.tagext.TagSupport;
/**
*該標籤只做簡單的輸出動作
*@authorAdministrator
*
*/
publicclassTest1extendsTagSupport{
privatestaticfinallongserialVersionUID=1L;
publicTest1(){
super();
}
publicintdoStartTag()throwsJspException{
try{
pageContext.getOut().write("FirstTag");
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
returnsuper.doStartTag();
}
}
注:標籤中如果有輸入參數,如有一個參數爲para1,則要在該標籤中寫其對應的set方法(如setPara1(''))將值從頁面set進來,get方法(如getPara1())得其值。
2、編寫標籤配置文件test1.tld,將其放於WEB-INF的目錄下,目錄可以任意,待在web.xml指定就可以了,如這裏放在/WEB-INF/tag/test1.tld:
<?xmlversion="1.0"encoding="GB2312"?>
<!DOCTYPEtaglibPUBLIC"-//SunMicrosystems,Inc.//DTDJSPTagLibrary1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.0</jsp-version>
<short-name>sc</short-name>【這裏表示外面引用的主標準名稱,見測試頁面】
<uri>http://youip.com</uri>
<display-name>這裏顯示你標準的名字</display-name>
<description>
對寫的標籤的描述
</description>
<!--下面的tag可以定義多個,格式基本如下,參數的增加如下面的註釋部分-->
<tag>
<name>test1</name>
<tag-class>com.sunline.tags.test.Test1</tag-class>
<description>標籤測試,無任何輸入參數</description>
<!--有多少個參數,就寫幾個這樣的
<attribute>
<name>para1【注:參數一,這是在標籤中定義的】</name>
<required>true【是否必須輸】</required>
</attribute>
-->
</tag>
</taglib>
3、在web.xml中配置,在其中加入:
<taglib>
<taglib-uri>http://youip.com</taglib-uri>
<taglib-location>/WEB-INF/tag/test1.tld</taglib-location>
</taglib>
4、編寫測試JSP頁面,只需要寫入下面兩句話就可以見效果了:
<%@tagliburi="http://youip.com"prefix="sc"%>
<sc:test1/>