开发和使用自定义标签程序有三个步骤:
1.开发标签实现类
2.编写标签描述,这个描述通常是以.tld结尾的文件
3.在web.xml中指定标签库的引用
开发实现:
package com.rain.tag;
import Java.io.IOException;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspTagException;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.Tag;
public class HelloTag implements Tag {
private PageContext pageContext;
private Tag parent;
public HelloTag(){
super();
}
public int doEndTag() throws JspException {
// TODO Auto-generated method stub
try{
pageContext.getOut().write("Hello World! 你好");
}catch(IOException e){
throw new JspTagException("IO Error:"+e.getMessage());
}
return EVAL_PAGE;
}
public int doStartTag() throws JspException {
// TODO Auto-generated method stub
return SKIP_BODY; //返回SKIP_BODY,表示不计算标签体
}
public Tag getParent() {
// TODO Auto-generated method stub
return this.parent;
}
public void release() {
// TODO Auto-generated method stub
}
public void setPageContext(PageContext arg0) {
// TODO Auto-generated method stub
this.pageContext=arg0;
}
public void setParent(Tag arg0) {
// TODO Auto-generated method stub
this.parent=arg0;
}
}
编写标签库描述
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_0.xsd"
version="2.0">
A tag library exercising SimpleTag handlers.
1.0
examples
/demotag
JSP应用开发
Outputs Hello,World
hello_int
com.rain.tag.HelloTag
empty
使用自定义标签
/demotag
/WEB-INF/mytag.tld
Insert title here以下的内容是从Taglib中显示的:
本实例是实现Tag接口,但为了在开发中方便简单,一般直接继承TagSupport类,只覆盖doStartTag和doEndTag两个方法就可以。TagSupport是Tag的子类。
posted on 2007-01-22 11:53 周锐 阅读(1318) 评论(0) 编辑 收藏 所属分类: Jsp