Web开发19:自定义标签库

Web开发19:自定义标签库_第1张图片

Web开发19:自定义标签库_第2张图片

Web开发19:自定义标签库_第3张图片

Web开发19:自定义标签库_第4张图片

Web开发19:自定义标签库_第5张图片

Web开发19:自定义标签库_第6张图片

 

所谓上层标签就如下面的bbb标签的上层标签就是aaa

<test:aaa>
   	<test:bbb>
   	</test:bbb> 
  </test:aaa>

 Web开发19:自定义标签库_第7张图片

Web开发19:自定义标签库_第8张图片

Web开发19:自定义标签库_第9张图片

Web开发19:自定义标签库_第10张图片

Web开发19:自定义标签库_第11张图片

Web开发19:自定义标签库_第12张图片

Web开发19:自定义标签库_第13张图片

Web开发19:自定义标签库_第14张图片

Web开发19:自定义标签库_第15张图片

Web开发19:自定义标签库_第16张图片

Web开发19:自定义标签库_第17张图片

 

定义一个处理类MyTag.java

package com.test.tag;

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

public class MyTag extends TagSupport {

	public int doStartTag() throws JspException {
		try {
			//向页面输出字符串
			this.pageContext.getOut().println("hello world");
		} catch (Exception e) {
			e.printStackTrace();
		}
		return EVAL_BODY_INCLUDE;
	}
	
	public int doEndTag() throws JspException {
		try {
			//向页面输出字符串
			this.pageContext.getOut().println("welcome!");
		} catch (Exception e) {
			e.printStackTrace();
		}
		return EVAL_PAGE;

	}
}

 

在web-inf目录下新建myTag.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.0</tlib-version>
	<jsp-version>1.1</jsp-version>
	<short-name>myTag</short-name>
	<uri>/myTag</uri>
	<tag>
		<name>firstTag</name>
		<tag-class>com.test.tag.MyTag</tag-class>
		<body-content>empty</body-content>
	</tag>
</taglib>

 在Tag1.jsp页面中引用此标签

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ taglib uri="/myTag" prefix="hello"%>
<html>
  <body>
    <p><font color="blue"><hello:firstTag/></font></p>
  </body>
</html>

 最后在浏览器页面中打印出hello world welcome!

 

 

你可能感兴趣的:(web开发)