自定义标签包括:空标签、带属性的标签、带标签体的标签、嵌套标签

制作自定义标签的步骤:

第一步、实现SimpleTag接口或者继承SimpleTagSupport类

实现SimpleTag代码

public class HelloTag implements SimpleTag {/** * 执行标签 */@Overridepublic void doTag() throws JspException, IOException {}@Overridepublic JspTag getParent() {return null;}/** * 如果有标签体,执行此代码 */@Overridepublic void setJspBody(JspFragment jspFragment) {}/** * 标签初始化 PageContext */@Overridepublic void setJspContext(JspContext jspContext) {}/** * 设置父标签 */@Overridepublic void setParent(JspTag jspTag) {}}

tld文件内容

1.0
h
http://www.hdz.com/core
choose
com.hdz.tag.ChooseTag
scriptless
when
com.hdz.tag.WhenTag
scriptless
test
true
true
other
com.hdz.tag.OtherTag
scriptless
connact
com.hdz.tag.MyFunction
java.lang.String connact(java.lang.String)

继承SimpleTagSupport类

public class HelloSonTag extends SimpleTagSupport {@Overridepublic void doTag() throws JspException, IOException {super.doTag();}}

显示标签体内容

JspFragment jspFragment = getJspBody();jspFragment.invoke(null);//参数为空,输出到网页StringWriter stringWriter = new StringWriter()JspFragment jspFragment = getJspBody();jspFragment.invoke(stringWriter );//输出到控制台

主要对象

public void setJspContext(JspContext jspContext) {    PageContext pageContext = jspContext;//初始化PageContext}