自定义标准标签之c标签(1)
1.如何定义一个新的标签
要使用一个标签库首先要写一个小东西,这里我们拿我们常用的c标签举例:
<%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>
我们需要写一个.tld文件内容如下

如果还是不是很清楚的话就看下面的吧!

!哦,对了我们还需要写一个助手类。那么我们的zking的标签就定义好了

package com.zking.jsp;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.BodyTagSupport;
/**
* 凡是继承了BodyTagSupport就是一标签助手类
* @author huguiyun
*
*/
public class DemoTag extends BodyTagSupport {
private static final long serialVersionUID = 1L;
private String test;
public String getTest() {
return test;
}
public void setTest(String test) {
this.test = test;
}
@Override
public int doStartTag() throws JspException {
System.out.println("--------------------- doStartTag-------------------");
return super.doStartTag();
}
@Override
public int doEndTag() throws JspException {
System.out.println("--------------------- doEndTag-------------------");
return super.doEndTag();
}
@Override
public int doAfterBody() throws JspException {
System.out.println("--------------------- doAfterBody-------------------");
return super.doAfterBody();
}
}
2.标签的生命周期
标签定义好了我们就来谈谈它的生命周期,他的生命周期只在本界面。
- doStartTag() 开始标签
- 2.doAfterBody() 主体部分
- doEndTag() 结束标签

它是怎么运转的呢,这让我们好奇,所以有程序流程图:
还有一些指定返回值:
| 属性名 | 含义 |
|---|---|
| SKIP_BODY | 跳过主体 |
| EVAL_BODY_INCLUDE | 计算标签主体内容并[输出] |
| EVAL_BODY_BUFFERED | 计算标签主体内容并[缓存] |
| EVAL_PAGE | 计算页面的后续部分 |
| SKIP_PAGE | 跳过页面的后续部分 |
| EVAL_BODY_AGAIN | 再计算主体一次 |
本文介绍了如何自定义标准标签,特别是c标签。首先,通过创建.tld文件和辅助类来定义新标签,例如<%@ taglib prefix=""c"" uri=""http://java.sun.com/jsp/jstl/core"" %>。然后,探讨了c标签的生命周期,包括doStartTag(), doAfterBody()和doEndTag()方法,这些方法在当前页面的特定阶段执行。"
111166347,10468174,Anaconda Pycharm PyQt5配置及UI转PY问题解析,"['Python', 'PyCharm', 'PyQt5', 'Anaconda', 'GUI开发']
&spm=1001.2101.3001.5002&articleId=90700906&d=1&t=3&u=11432eb179094c6d94fd9aa2cf53bed7)
4165

被折叠的 条评论
为什么被折叠?



