(一)自定义标签之传统标签

(1)首先我们看看传统便签的类结构图,其中包括了简单标签

由上图可知,传统标签较为复杂,然而简单标签较为简单。

(2)开发流程

(1)写一个类实现Tag接口
(2)写一个tld文件,描述写好的类
(3)在jsp页面中引入tld

实例:在jsp页面用自定义的标签输出ip地址

继承tag接口类

package tag;

import java.io.IOException;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.Tag;

public class tag implements Tag {

	private PageContext pc =null;
	public int doEndTag() throws JspException {
		// TODO Auto-generated method stub
		return 0;
	}

	public int doStartTag() throws JspException {
		// TODO Auto-generated method stub
		String ip = pc.getRequest().getRemoteAddr();
		try {
			pc.getOut().write(ip);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return 0;
	}

	public Tag getParent() {
		// TODO Auto-generated method stub
		return null;
	}

	public void release() {
		// TODO Auto-generated method stub

	}

	public void setPageContext(PageContext arg0) {
		// TODO Auto-generated method stub
		pc = arg0;
	}

	public void setParent(Tag arg0) {
		// TODO Auto-generated method stub

	}

}

书写一个tld文件

<?xml version="1.0" encoding="UTF-8"?>
<taglib version="2.0" 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 web-jsptaglibrary_2_0.xsd">
 <tlib-version>1.0</tlib-version>
 <short-name>MyTag</short-name>
 <uri>http://www.mytag.com/MyTag</uri>  引入的uri
 <tag>
  <name>showip</name>        自定义标签的名字
  <tag-class>tag.tag</tag-class> 自定义标签所定义的类
  <body-content>empty</body-content>
 </tag>
</taglib>

引入tld

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="http://www.mytag.com/MyTag" prefix="MyTag" %>     引入的tld
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  </head>

  <body>
    java你的IP地址<%=request.getRemoteAddr() %>><br>
    自定义标签你的IP地址<MyTag:showip></MyTag:showip>>
  </body>
</html>
时间: 2024-10-11 10:45:06

(一)自定义标签之传统标签的相关文章

2_Jsp标签_传统标签功能简介

1传统标签接口关系:                                   2功能简介                                                   3代码测试                                                   1.标签体内容控制 StartTag package com.tag; import javax.servlet.jsp.JspException; import javax.servl

JSP自定义标签——传统标签

同JSP标签一样,自定义标签主要用于移除JSP页面中的Java代码,可以看到我们在JSP中其实是禁止使用Java脚本的,任何要想通过Java代码实现的功能都必须以标签形式来处理,可以使用JSP标签,JSTL标签,EL函数,或者自定义标签. 自定义标签分为传统标签和简单标签,简单标签是Sun公司为减低自定义标签技术的学习难度而定义的,对于简单标签请看下一篇博客.本文先来学习传统自定义标签. 使用传统自定义标签需要满足以下两个步骤: ① 编写一个实现Tag接口(实际上我们更常的是继承Tag接口的实现

JSP传统标签开发

1.标签技术的API类继承关系 1).JspTag接口是所有自定义标签的父接口 该接口中没有任何属性和方法,只有两个直接子接口,Tag接口和SimpleTag接口,把实现Tag接口的自定义标签叫做传统标签,把实现SimpleTag接口的自定义标签叫做简单标签 2).Tag接口,所有传统标签的父接口,两个重要方法(doStartTag.doEndTag)和四个常量(EVAL_BODY_INCLUDE.SKIP_BODY.EVAL_PAGE.SKIP_PAGE) WEB容器在解释执行JSP页面过程中

javaweb学习总结(二十四)——jsp传统标签开发

一.标签技术的API 1.1.标签技术的API类继承关系 二.标签API简单介绍 2.1.JspTag接口 JspTag接口是所有自定义标签的父接口,它是JSP2.0中新定义的一个标记接口,没有任何属性和方法.JspTag接口有Tag和SimpleTag两个直接子接口,JSP2.0以前的版本中只有Tag接口,所以把实现Tag接口的自定义标签也叫做传统标签,把实现SimpleTag接口的自定义标签叫做简单标签. 2.2.Tag接口 Tag接口是所有传统标签的父接口,其中定义了两个重要方法(doSt

javaweb学习总结(二十四)——jsp传统标签开发【转】

原文地址:http://www.cnblogs.com/xdp-gacl/p/3916946.html 一.标签技术的API 1.1.标签技术的API类继承关系 二.标签API简单介绍 2.1.JspTag接口 JspTag接口是所有自定义标签的父接口,它是JSP2.0中新定义的一个标记接口,没有任何属性和方法.JspTag接口有Tag和SimpleTag两个直接子接口,JSP2.0以前的版本中只有Tag接口,所以把实现Tag接口的自定义标签也叫做传统标签,把实现SimpleTag接口的自定义标

18、EL表达式、JSP标签、JSTL标签、自定义标签

EL表达式 jsp的核心语法: jsp表达式 <%=%>和 jsp脚本<% %>. 以后开发jsp的原则: 尽量在jsp页面中少写甚至不写java代码. 使用EL表达式替换掉jsp表达式 EL表达式作用: 向浏览器输出域对象中的变量值或表达式计算的结果!!! 语法: ${变量或表达式} EL语法 1 输出基本数据类型变量 从四个域获取 ${name} 指定域获取 ${pageScope.name} 域范围: pageScoep / requestScope / sessionSco

08.十分钟学会JSP传统标签编程

一.认识标签 1,说明:传统标签编程在开发中基本用不到,学习标签编程主要还是为了完善知识体系. 2,标签的主要作用:移除或减少jsp中的java代码 3,标签的主要组成部分及运行原理 4,简单标签示例:继承javax.servlet.jsp.tagext.TagSupport 标签开发步骤 4.1编写一个继承TagSupport(或实现Tag接口)的类 package com.chen.ying; import java.io.IOException; import javax.servlet.

学会怎样使用Jsp 内置标签、jstl标签库及自定义标签

学习jsp不得不学习jsp标签,一般来说,对于一个jsp开发者,可以理解为jsp页面中出现的java代码越少,对jsp的掌握就越好,而替换掉java代码的重要方式就是使用jsp标签. jsp标签的分类: 1)内置标签(动作标签): 不需要在jsp页面导入标签 2)jstl标签: 需要在jsp页面中导入标签 3)自定义标签 : 开发者自行定义,需要在jsp页面导入标签 1.内置标签(动作标签): <jsp:forward />转发标签: 语法:<jsp:forward page="

传统标签库功能

1 package cn.itcast.web.tag; 2 3 import javax.servlet.jsp.JspException; 4 import javax.servlet.jsp.tagext.IterationTag; 5 import javax.servlet.jsp.tagext.Tag; 6 import javax.servlet.jsp.tagext.TagSupport; 7 8 //控制表前提执行5次 9 public class TagDemo3 exten