Showtime类
package com.kongjian;
import java.io.IOException;
import java.util.Date;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.SimpleTagSupport;
public class Showtime extends SimpleTagSupport {
@Override
public void doTag() throws JspException, IOException {
//获得当前的时间
Date d = new Date() ;
//获得pageContext对象
PageContext pagecontext = (PageContext)getJspContext() ;
//获取输出流对象
JspWriter out = pagecontext.getOut() ;
//向页面输出
out.write(d.toLocaleString()) ;
}
}
Demo1类
package com.kongjian;
import java.io.IOException;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.SimpleTagSupport;
public class Demo1 extends SimpleTagSupport{
@Override
public void doTag() throws JspException, IOException {
}
}
Demo2类
package com.heima.jstl;
import java.io.IOException;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.SkipPageException;
import javax.servlet.jsp.tagext.JspFragment;
import javax.servlet.jsp.tagext.SimpleTagSupport;
//演示控制结束标签后的内容不执行
public class Demo2 extends SimpleTagSupport {
@Override
public void doTag() throws JspException, IOException {
//拿到主体内容
JspFragment body = getJspBody() ;
//第一种办法
// //拿到pageContext对象
// PageContext page = (PageContext) body.getJspContext() ;
// //拿到输出流对象
// JspWriter out = page.getOut() ;
// //输出主体内容
// body.invoke(out) ;
//第二种办法
body.invoke(null) ;
throw new SkipPageException() ;
}
}
Demo3类
package com.heima.jstl;
import java.io.IOException;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.SimpleTagSupport;
//控制主体内容重复执行
public class Demo3 extends SimpleTagSupport {
private int count ;
public void setCount(int count) {
this.count = count;
}
@Override
public void doTag() throws JspException, IOException {
for (int i = 0; i < count; i++) {
getJspBody().invoke(null) ;
}
}
}
a.tld文件
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>my</short-name>
<uri>http://java.sun.com/myjstl</uri>
<tag>
<name>showTime</name>
<tag-class>com.kongjian.Showtime</tag-class>
<body-content>empty</body-content>
</tag>
<tag>
<name>demo1</name>
<tag-class>com.kongjian.Demo1</tag-class>
<body-content>tagdependent</body-content>
</tag>
<tag>
<name>demo2</name>
<tag-class>com.kongjian.Demo2</tag-class>
<body-content>tagdependent</body-content>
</tag>
<tag>
<name>demo3</name>
<tag-class>com.kongjian.Demo3</tag-class>
<body-content>scriptless</body-content>
<attribute>
<name>count</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
效果图显示
文章来源:http://blog.youkuaiyun.com/u014368040/article/details/51246854