欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

简单使用taglib 自定义标签

程序员文章站 2022-06-08 14:09:03
...

自定义标签的步骤:

1、自定义类继承javax.servlet.jsp.tagext.*下提供的标签类,如:TagSupport

2、创建*.tld文件,配置标签库信息,以及标签与实现类的映射。

3、在JSP中引入自定义标签

 

标签类TagSupport:

TagSupport类是实现Tag接口的一个模板类。它实现了Tag接口的大部分方法,用户只需要实现doStartTag()doEndTag()方法。

doStartTag():执行当前标签实例的开始标签。(标签开始时调用)

doEndTag():执行当前标签实例的结束标签。在doStartTag()执行后调用(结束调用)

 

书写taglib实例:

1、新建类TestTaglib继承TagSupport

public class TestTaglib extends TagSupport{

	private static final long serialVersionUID = 1L;
	
	@Override
	public int doStartTag() throws JspException {
		return SKIP_BODY;
	}

	@Override
	public int doEndTag() throws JspException {
		JspWriter out = pageContext.getOut();
		try {
			out.println("bbbbbb");
		} catch(IOException e) {
			e.printStackTrace();
		}
		return EVAL_PAGE;
	}


	@Override
	public void release() {
		super.release();
	}

	
}

2、在WEB-INF下创建*.tld文件,(block.tld)

<?xml version="1.0" encoding="UTF-8"?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
  version="2.0">
  <tlib-version>1.0</tlib-version>
  <jsp-version>1.1</jsp-version>
  <short-name>block</short-name>

<tag>
  <name>test</name>
  <tag-class>com.lsl.taglib.TestTaglib</tag-class>
  <body-content>empty</body-content>
  
  <!-- 标签属性 -->
  <attribute>
    <name>formatKey</name>
    <!-- 是否必填 -->
    <required>false</required>
    <!-- 可否动态赋值 -->
    <rtexprvalue>true</rtexprvalue>
  </attribute>
</tag>

</taglib>

<tag>

name:标签名

tag-class:自定义标签类全路径

body-content:标签内容---1、empty:为空------2、JSP:可填内容(<test>内容</test>)

</tag>

 

3、在JSP中引用

<%@ taglib uri="/WEB-INF/block.tld" prefix="block"%>

uri:tld文件路径

prefix:自定义前缀名

 

4、使用

引用后即可在JSP页面中使用自定义标签:

<block:test formatKey=""/>

test:tld文件中定义的标签名

formatKey:tld文件中定义的标签属性

相关标签: taglib