JSP自定义jstl标签(out,if)

自定义标签就是为了能封装一些公共代码。


目录

什么是jstl标签库

jstl自定义标签的生命周期

自定义标签

1.自定义标签类(举例:out标签,if标签)

2.编写标签库描述文件(tld)

3.在JSP上使用自定义标签(测试)


什么是jstl标签库 🧁🧁🧁

首先,什么是标签:

标签的概念:

  • 是标记语言(Mark Language),是一种注释文本的语言,以便于计算机可以操作。很多与“ML”结尾的语言都是标记语言,比如:HTML,XML,XHTML,VML等等
  • 标记语言与其他语言一样,也需要运行它们的环境,比如HTML的运行环境时浏览器,XML也要自己的解析和运行的环境

标签类型:

  • UI标签, 输出页面元素
  • 控制标签, 如if标签,foreach标签等
  • 数据标签,用于向页面输入数据

基本结构:

  • <开始标签>标签体</结束标签>

空标签(没有标签体的标签):

  • <开始标签 属性名="属性值"/></结束标签>
  • <br/><br/>
  • <开始标签 属性名="属性值"/>

jstl标签库的概念:

是一个JSP标签集合,它封装了JSP应用的通用核心功能, 基于JSP标签我们可以理解为,是JSP应该通用功能的一种封装方式


jstl自定义标签的生命周期 🍥🍥🍥

要想自定义标签,首先要了解好jstl自定义标签的生命周期,因为我们自定义标签的步骤就是根据下图中的生命周期来的

 


自定义标签 🍨🍨🍨

1.自定义标签类(举例:out标签,if标签)

  • out 标签类(继承BodyTagSupport)
/**
*     out 标签作用:向JSP页面中写入数据
*/
public class OutTag extends BodyTagSupport{  
  
    private String val;
	private String defaultVal;
 
	public void setVal(String val) {
		this.val = val;
	}
    //为空时设置默认值的方法
	public void setDefaultVal(String defaultVal) {
		this.defaultVal = defaultVal;
	}
    
    //标签的开始方法(需要给自定义的标签添加什么操作,就重写对应的生命周期中的方法)
	@Override
	public int doStartTag() throws JspException {
        //this.pageContext:通过当前类获取pageContext对象
        //pageContext对象中有一个getOut写出方法
		JspWriter out = this.pageContext.getOut();		
		try {
			if(val==null&&val.equals("")) {
				out.println(this.defaultVal);
			} else {
				out.println(this.val);
			}
		} catch (Exception 
  • 16
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值