自定义标签包括:空标签、带属性的标签、带标签体的标签、嵌套标签
制作自定义标签的步骤:
第一步、实现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}