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/>