1.自定义标签步骤
- 编写标签处理类,继承SimpleTagSupport类,覆盖doTag方法
- 在WEB-INF目录下建立tld文件,在tld配置标签
- 在jsp页面导入标签库,使用taglib指令
2.自定义标签生命周期
- SimpleTag接口:
- setJspContext(JspContext context) —传入pageContext对象
- setParent(JspTag tag) —传入父标签对象
- setXXX(参数) —给属性赋值
- setJspBody(JspFrament jspBoy) —传入标签体内容
- doTag() —执行标签
3.自定义标签的作用
- 控制是否输出标签体内容
输出:this.getJspBody().invoke(null);
不输出:不调用invoke(null)方法;
- 控制标签余下内容是否输出
输出:什么都不做
不输出:抛出SkipPageException异常
- 重复输出标签体内容
重复调用:this.getJspBody().invoke(null)
4.修改标签体内容
StringWriter sw = new StringWriter();
this.getJspBody().invoke(sw);标签内容拷贝到sw中
String context = sw.toString();拿到内容
//修改内容
//手动输出
this.getJspContext().getOut().writer(修改过的内容)
5.带属性的标签
- 在标签处理器类中声明成员变量和setter方法,用于给属性变量赋值
- 在tld文件中声明属性
- 使用属性