`
huangfoxAgain
  • 浏览: 36958 次
  • 性别: Icon_minigender_1
  • 来自: 常州
社区版块
存档分类
最新评论

[jsp自定义标签1] jsp自定义标签的处理过程

阅读更多
jsp自定义标签可以封装一定的功能,在某种层面上实现数据和展示的分离。

jsp自定义标签的主要工作包括:
1.创建标签的处理类(Tag Handler Class)
2.创建标签库描述文件(Tag Library Descriptor File)
3.在web.xml文件中配置元素
4.在JSP文件中引人标签库

下面给出一个简单的例子:
1.tag handler class
package com.fox.mytag;

import java.io.IOException;

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

public class HelloMyTag extends TagSupport {

	@Override
	public int doEndTag() throws JspException {
		JspWriter out = pageContext.getOut();
		try {
			out.print("do End Tag ");
		} catch (IOException e) {
			e.printStackTrace();
		}
		return super.doEndTag();
	}

	@Override
	public int doStartTag() throws JspException {
		JspWriter out = pageContext.getOut();
		try {
			out.print("<font color=\"red\">hello!</font>");
		} catch (IOException e) {
			e.printStackTrace();
		}
		return super.doStartTag();
	}
	
}


2.tag library descriptor file (tld)
<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>
    <short-name>myTagLib</short-name>
    <uri>/myTag</uri>
    <tag>
    	<name>helloTag</name>
    	<tag-class>com.fox.mytag.HelloMyTag</tag-class>
    	<body-content>empty</body-content>
    </tag>
    </taglib>


3.web.xml配置tag
  <jsp-config>
  	<taglib>
  		<taglib-uri>/myTag</taglib-uri>
  		<taglib-location>/WEB-INF/tag/mytag.tld</taglib-location>
  	</taglib>
  </jsp-config>


4.自定义标签的使用
<%@ taglib prefix="f" uri="/myTag" %>

<f:helloTag/>


--------------------------------------
自定义标签的处理流程:
1.在JSP中引入标签库:

2.在JSP中使用标签库标签:

3.Web容器根据第二个步骤中的prefix,获得第一个步骤中声明的taglib的uri属性值

4.Web容器根据uri属性在web.xml找到对应的元素

5.从元素中获得对应的元素的值

6.Web容器根据元素的值从WEB-INF/目录下找到对应的.tld文件

7.从.tld文件中找到与tagname对应的元素

8.凑元素中获得对应的元素的值

9.Web容器根据元素的值创建相应的tag handle class的实例

10. Web容器调用这个实例的doStartTag/doEndTag方法完成相应的处理




























分享到:
评论

相关推荐

    jsp 自定义标签实例

    在JavaServer Pages (JSP) 技术中,自定义标签是扩展JSP功能的关键手段,它允许开发者创建可重用的组件,提高...在给定的实例中,我们可以看到一个简单的自定义标签的实现和使用过程,涵盖了JSP自定义标签的基本流程。

    JSP自定义标签学习笔记

    本篇学习笔记将深入探讨JSP自定义标签的相关概念、创建方法以及实际应用。 一、概述 1.1 使用简单标签机制 JSP自定义标签提供了类似HTML标签的语法结构,通过自定义标签,开发者可以封装复杂的Java代码,使得页面...

    jsp 自定义标签的使用

    在这个类中,我们可以编写处理标签逻辑的代码。 3. **在JSP页面中使用**:在JSP页面中,通过`&lt;%@ taglib %&gt;`指令引入自定义标签库,然后就可以像使用内置标签一样使用自定义标签了。 二、分页封装 分页是网页应用...

    jsp自定义标签 jsp自定义标签

    jsp自定义标签jsp自定义标签jsp自定义标签jsp自定义标签

    jsp自定义标签例子,能在Tomcat下直接运行

    在提供的链接中,`http://blog.csdn.net/zwhfyy/archive/2008/06/13/2543904.aspx`,作者详细讲解了如何创建和使用JSP自定义标签的过程,包括具体的代码示例和步骤说明。通过阅读这篇文章,你可以深入理解自定义标签...

    jsp权限控制,jsp自定义标签实现

    使用jsp自定义标签的功能实现权限的控制。(如果用户没有某个模块的删除权限,就不现实这个删除按钮) 在整个项目中所有的页面都可以引入自定义的标签去做到权限的控制。 自定义标签文件 删除 可以控制页面中的每...

    jsp自定义标签报错的问题

    总的来说,理解和解决`Java.lang.NoClassDefFoundError: JspException`异常需要对JSP自定义标签的工作原理、项目结构以及打包过程有深入的了解。遵循正确的项目配置和打包步骤,能够有效地避免这类问题,保证自定义...

    jsp自定义标签库实现数据列表显示

    在这个类中,你需要定义处理标签逻辑的方法,如`doStartTag()` 和 `doEndTag()`,以及获取和设置属性的方法,比如获取数据源、每页显示条数等。 `UserInfo.java` 可能是用于封装用户信息的Java Bean,包含用户的...

    JSP自定义标签之自动完成框

    首先,我们要理解JSP自定义标签的概念。自定义标签是JSP的一种扩展机制,它允许开发者创建自己的标签库,以更加清晰和可维护的方式编写页面。自定义标签的实现通常涉及三个主要部分:标签库描述符(TLD)、标签处理...

    jsp2.0 自定义标签和自定标签函数

    它可能涵盖了从创建TLD文件,编写标签处理类,到在JSP页面上实际使用自定义标签的全过程。同时,这个文档可能会提供一些实际的例子,帮助读者理解自定义标签的工作原理。 而"test1.tld"文件则是对一个自定义标签库...

    JSP自定义标签实例与详细讲解

    1. 定义标签处理类:这个类实现了`javax.servlet.jsp.tagext.Tag`接口或其子接口,如`TagSupport`,并覆盖`doStartTag()`和`doEndTag()`方法来处理标签的开始和结束。 2. 属性处理:自定义标签可以接受属性,这些...

    JSP自定义标签之日期显示

    本篇将深入探讨“JSP自定义标签之日期显示”,以及如何通过自定义标签来优雅地处理日期格式化和展示。 首先,我们要理解JSP自定义标签的基本概念。自定义标签是JSP的一种扩展,它不是Java内置的标签,而是由开发者...

    jsp自定义标签编写的分页

    标签处理类是实现自定义标签逻辑的Java类,它处理标签的生命周期方法,如doStartTag()和doEndTag()。最后,标签库是一组自定义标签的集合,它们可以通过JSP页面引用。 在我们的例子中,"分页"自定义标签可以包含...

    jsp自定义分页标签

    本主题将深入探讨“jsp自定义分页标签”,这是一种在网页展示大量数据时非常实用的功能,它可以有效地帮助用户浏览和操作数据。 一、JSP自定义标签基础 JSP自定义标签是JSP技术的一部分,它允许开发者创建自己的...

    jsp自定义标签大全.rar

    2. **标签处理类**: 这是Java类,实现了javax.servlet.jsp.tagext.Tag接口或其子接口,负责处理标签的生命周期方法,如doStartTag()和doEndTag()。 **自定义标签的创建步骤** 1. **编写标签处理类**: 实现Tag接口或...

    权威实用jsp自定义标签demo<select,checkbox,radio>

    综上所述,“权威实用jsp自定义标签demo,checkbox,radio&gt;”教程旨在帮助开发者掌握如何创建和使用与选择器相关的自定义标签,从而提升JSP开发的效率和质量。通过学习这个教程,你可以了解到自定义标签的核心概念、...

    jsp自定义标签库注意事项

    【jsp自定义标签库注意事项】 在Java服务器页面(JSP)开发中,自定义标签库是一种强大的工具,它能够帮助开发者创建可重用的代码片段,提高代码的可读性和可维护性。以下是对JSP自定义标签库的详细解释和使用注意...

    由浅到深详细讲解JSP自定义标签

    本文将深入讲解JSP自定义标签的相关概念、格式、处理过程以及创建和使用自定义标签库的基本步骤。 1. 基本概念: - **标签**:JSP标签是XML元素,用于简化JSP页面,使其更易读且支持多语言版本。标签名和属性区分...

    掌握jsp自定义标签chm版

    本资料"掌握jsp自定义标签chm版"全面讲解了这一核心概念,旨在帮助开发者深入理解和熟练应用JSP自定义标签。 1. **自定义标签概述** JSP自定义标签是扩展JSP功能的一种方式,允许开发者创建自己的标签库,类似于...

    JSP自定义Table标签demo

    总结起来,"JSP自定义Table标签demo"是一个教育性的示例,它演示了如何利用JSP自定义标签的灵活性和强大功能,来创建复杂且可复用的组件,如动态表格。通过学习和理解这个demo,开发者可以提升自己的JSP开发能力,...

Global site tag (gtag.js) - Google Analytics