自定义标准标签之c标签(1)

本文介绍了如何自定义标准标签,特别是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开发']

自定义标准标签之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.标签的生命周期

标签定义好了我们就来谈谈它的生命周期,他的生命周期只在本界面。

  1. doStartTag() 开始标签
  2. 2.doAfterBody() 主体部分
  3. doEndTag() 结束标签

在这里插入图片描述

它是怎么运转的呢,这让我们好奇,所以有程序流程图:

在这里插入图片描述还有一些指定返回值:

属性名含义
SKIP_BODY跳过主体
EVAL_BODY_INCLUDE计算标签主体内容并[输出]
EVAL_BODY_BUFFERED计算标签主体内容并[缓存]
EVAL_PAGE计算页面的后续部分
SKIP_PAGE跳过页面的后续部分
EVAL_BODY_AGAIN再计算主体一次
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值