2.8.1 开发自定义标签类

2.8.1 开发自定义标签类

JSP页面使用一个简单的标签时,底层实际上由标签处理类提供支持,从而可以通过简单的标签来封装复杂的功能,从而使团队更好地协作开发(能让美工人员更好地参与JSP页面的开发)。

自定义标签类应该继承一个父类:javax.servlet.jsp.tagext.SimpleTagSupport,除此之外,JSP自定义标签类还有如下要求

  • 如果标签类包含属性,每个属性都有对应的gettersetter方法
  • 重写doTag()方法,这个方法负责生成页面内容。

下面开发一个最简单的自定义标签,该标签负责在页面上输出HelloWorld

1
2
3
4
5
6
7
8
9
10
11
12
13
package lee;

import javax.servlet.jsp.tagext.*;
import javax.servlet.jsp.*;
import java.io.*;

public class HelloWorldTag extends SimpleTagSupport {
// 重写doTag()方法,该方法为标签生成页面内容
public void doTag() throws JspException, IOException {
// 获取页面输出流,并输出字符串
getJspContext().getOut().write("Hello World " + new java.util.Date());
}
}

上面这个标签处理类非常简单,它继承了SimpleTagSupport父类,并重写doTag()方法,而doTag()方法则负责输出页面内容。该标签没有属性,因此无须提供settergetter方法。