Taglib自定义标签基础知识及开发

一、Taglib是一种在java web页面上,通过自定义标记来实现一定功能处理的组件技术。

二、开发方法

1、写一个类继承TagSupport

package com.xiaoxing.util;

import java.io.IOException;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.TagSupport;

/**
 * 自定义标签
 * 
 * @author Administrator
 * 
 */
public class MyMsgTag extends TagSupport {

	private static final long serialVersionUID = -1091470329282165432L;
	private String msg = "";

	@Override
	public int doEndTag() throws JspException {
		// 复位
		msg = "";
		return super.doEndTag();
	}

	@Override
	public int doStartTag() throws JspException {
		try {
			this.pageContext.getOut().print(
					"<font color='red'><b>" + msg + "</b></font>");
		} catch (IOException e) {
			e.printStackTrace();
		}
		return this.SKIP_BODY;
	}

	public void setMsg(String s) {
		this.msg = s;
	}

}

 2、在WEB-INF下写一个tld文档

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.
//DTD JSP Tag Library 1.2//EN" 
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">

<taglib>
	<tlib-version>1.2.3</tlib-version>
	<jsp-version>1.2</jsp-version>
	<short-name>xiaoxing</short-name>
	<uri>/xiaoxing-tags</uri>
	<display-name>"allen tags"</display-name>
	
	<tag>
		<name>msgOut</name>
		<tag-class>com.xiaoxing.util.MyMsgTag</tag-class>
		<body-content>JSP</body-content>
		<description><![CDATA[test tag]]></description>
		<attribute>
			<name>msg</name>
			<required>true</required>
			<rtexprvalue>true</rtexprvalue>
			<description><![CDATA[my first tag]]></description>
		</attribute>
	</tag>
</taglib>

 

3、此时可以在页面上使用了

<%@ taglib prefix="mymsg" uri="/xiaoxing-tags"  %>
<mymsg:msgOut msg="你好"/>

 4、浏览器里的效果


Taglib自定义标签基础知识及开发_第1张图片
 

三、Taglib运行流程


Taglib自定义标签基础知识及开发_第2张图片
 

你可能感兴趣的:(taglib)