传统标记

自定义标签的处理类可以从这个接口继承。

javax.servlet.jsp.tagext.TagSupport

方法 说明
doStartTag() 标记开始处理时执行,返回值是:

SKIP_BODY : 忽略标记所包含的体

EVAL_BODY_INCLUDE : 正常,需要处理标记的体

doAfterBody() 如果有体且处理完后执行,返回值是:

SKIP_BODY : 体处理结束

EVAL_BODY_AGAIN : 再次处理体

doEndTag() 标记结束处理时执行,返回值是:

EVAL_PAGE : 正常结束

SKIP_PAGE : 页面处理到此结束,相当于抛出 SkipPageException

void setPageContext(PageContext) 自动调用,提供 PageContext 的一个引用
JspTag findAncestorWithClass(JspTag, Class) 找到最近的指定类型的父标记
pageContext PageContext 对象
findAttribute(String) 查找指定属性并返回值,查找范围依次如下:

page

request

session

application

JSP 使用标记语法

<%@ taglib prefix="mime" uri="KathyClassisTags" %>
<mime:classisOne />

标记定义 TLD 内容

<tag>

  <description></description>

  <name>classisOne</name>

  <tag-class>foo.Classic1</tag-class>

  <body-content>empty</body-content>

</tag>

内容 描述
<name> 标记名称
<tag-class> 标记所对应的类全称
<body-content> 标记体类型

示例: