简单标记

自定义标签的处理类可以从这个接口继承,注意这个类可被重用,需进行本地变量初始化。

javax.servlet.jsp.tagext.SimpleTagSupport

方法 说明
void doTag() 标签处理部分,需要实现这个接口
JspTag findAncestorWithClass(JspTag, Class) 找到最近的指定类型的父标记
JspFragment getJspBody() 获得标签体,以执行标签体内的其他东西
JspContext getJspContext() 获得 PageContext 对象
JspTag getParent() 获得父标签,与上层标签通信
void setJspBody(JspFragment) 自动调用,如果标签有体通过此方法提供
void setJspContext(JspContext) 自动调用,提供 PageContext(JspContext 的子类)的一个引用
void setParent(JspTag parent) 自动调用,如果是子标签,此方法设置所属的父标签

示例:

在标签中隐蔽地设置 message 的值,在 JSP 中能显示出来。

JSP 内容 doTag 方法
<myTags:simple>

Message is :${message}

</myTags:simple>

public void doTag() throws JspException, IOException {

  getJspContext().setAttribute("message","Wear sunscreen.");

  getJspBody().invoke(null);

}