你的位置:首页 > 软件开发 > Java > 自定义标签类

自定义标签类

发布时间:2017-03-21 00:02:33
使用标签可以替换jsp页面上的脚本,让页面更加简洁,维护更加方便,增加程序安全性。 在javaee api中有一个接口javax.servlet.jsp.tagext.JspTag,它是所有的标签的根接口。 在jsp2.0以后,定义了一个更加简单的javax.servlet.js ...

自定义标签类

使用标签可以替换jsp页面上的脚本,让页面更加简洁,维护更加方便,增加程序安全性。

在javaee api中有一个接口javax.servlet.jsp.tagext.JspTag,它是所有的标签的根接口。

在jsp2.0以后,定义了一个更加简单的javax.servlet.jsp.tagext.SimpleTag,这个接口就描述了如何自定义标签。

标签的分类:

  • 传统标签
  • 简单标签SimpleTag

SimpleTag体系

     SimpleTag有一个实现类SimpleTagSupport,自定义标签类一般会继承它。

定义一个标签的步骤:

  1. 定义一个标签类让它实现SimpleTag接口或继承SimpleTagSupport类
  2. 做一个标签的描述文件tld文件,在这个文件中来对标签进行描述
  3. 在jsp页面上使用自定义标签。

关于SimpleTag接口的方法描述

自定义标签类

  • doTag方法它的作用:描述标签的功能 (会被自动调用)
  • setJspContext:它的参数是JspContext,它的作用是将页面的pageContext对象传递到标签类中。(很大用途,用于获取其他八大对象)
  • setJspBody:将标签体的内容缓存内存对象中,而参数JspFragment 相当于标签体内容。
  • getParent  setParent 将标签的父标签引入。(基本不用)

 

下面是一个自定义标签类:(用于是一个多次打印标签体内容的 java 类)

package online.mytag;import java.io.IOException;import java.io.StringWriter;import javax.servlet.jsp.JspException;import javax.servlet.jsp.JspWriter;import javax.servlet.jsp.tagext.SimpleTagSupport;public class PrintTag extends SimpleTagSupport {    private int count;    public int getCount() {    return count;  }  public void setCount(int count) {    this.count = count;  }  @Override  public void doTag() throws JspException, IOException {    //创建一个流,用于接收标签体的内容    StringWriter sw = new StringWriter();    getJspBody().invoke(sw);    String str = sw.toString();    JspWriter out = getJspContext().getOut();    for (int i = 0; i < count; i++) {      out.write(str);    }  }}

原标题:自定义标签类

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录