`

JSP自定义标签学习(基础)

阅读更多
自定义标签的最大的特点:

利用 自定义标签,软件开发人员和页面设计人员可以独立地自由工作.页面设计人员可以把精力集中在使用标签(HTML,XML或者JSP)创建网站上,而软件开发人员则可以将精力集中在实现底层功能上面,若国际化等等,这样,页面设计人员可以使用自定义标签的形式来实现具体的功能.

下面我们来指定一个简单的标签,步骤如下
  1. 扩张TagSupport
  2. 写自定义Tag的tld文件
  3. web.xml中指定你的tld文件
  4. 在JSP页面使用自定义标签

  • 扩张TagSupport
        说明:
                一般不会去实现Tag接口,而是通过TagSupport类是实现了Tag的接口继承过来的字段,这些字段用做public int               doStartTag(),public int doEndTag()返回值
                Tag.EVAL_BODY_INCLUDE 包含主体内容
                Tag.SKIP_BODY     不包含主体内容
                Tag.EVAL_PAGE      包含后面的页面内容
                Tag.SKIP_PAGE     不包含主体的内容    
实现一个简单实现代码:
java 代码
 
  1. package com.mercyblitz;  
  2. import java.io.IOException;  
  3. import javax.servlet.jsp.JspException;  
  4. import javax.servlet.jsp.JspWriter;  
  5. import javax.servlet.jsp.tagext.TagSupport;  
  6.   
  7. public class MyTags extends TagSupport {  
  8.     public int doStartTag()throws JspException  
  9.     {  
  10.         JspWriter out=pageContext.getOut();  
  11.         try  
  12.         {  
  13.             out.println("Hello,World"); //页面中显示的内容  
  14.         }catch(IOException e)  
  15.         {  
  16.             throw new JspException(e);  
  17.         }  
  18.         return SKIP_BODY; //不包含主体内容  
  19.     }  
  20. }  

  • 写自定义Tag的tld文件
xml 代码
 
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "web-jsptaglibrary_1_2.dtd" >  
  3. <taglib>  
  4.   <tlibversion>tlibversion</tlibversion>  <!-- 你自定义标签的版本数 -->  
  5.   <jsp-version>1.2</jsp-version>  <!-- 指定你的JSP版本,扩张标签是在JSP1.2之后兼容的 --?>  
  6.   <shortname>shortname</shortname> <!-- 标签的简写 -->  
  7.   <tag>  
  8.     <name>tags</name>  <!-- 标签名字 -->  
  9.     <tagclass>com.mercyblitz.mytags</tagclass>  <!-- 指定你的标签的类 -->  
  10.   </tag>  
  11. </taglib>  
         标签库元素<taglib>属性:表格如下
         <taglib>属性表格</taglib>
属性 描述
tlib-version 本标签库实现版本
jsp-version 标签库依赖的JSP版本
short-name 被JSP创作工具使用的一个短的默认名词
uri 指定这个标签库的uri信息
display-name 被工具使用的显示用的名字
small-icon 被工具使用的小图标
large-icon 被工具使用的大图标
description 本标签的描述
validator TLD验证信息
listener 实践监听器规范
        tag标签相关属性:
tag标签相关属性表
属性 描述
name tag标签唯一的名称
tag-class tag标签的处理类
tei-class tag标签的TagExtraInfo类
body-content 标签主体的内容
display-name 显示的名称
small-icon 被工具使用的小图标
large-icon 被工具使用的大图标
description 本标签的描述
variable 脚本变量的信息
attribute 标签属性的信息
            这些呢,是为以后高级内容说要提到的!
  • web.xml中指定你的tld文件
    xml 代码
     
    1. <?xml version="1.0" encoding="UTF-8"?>  
    2. <web-app version="2.4"   
    3.     xmlns="http://java.sun.com/xml/ns/j2ee"   
    4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
    5.     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   
    6.     http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  
    7.     <welcome-file-list>  
    8.        <welcome-file>/WEB-INF/mytag.jsp</welcome-file> <!-- 设置欢迎页面 -->  
    9.     </welcome-file-list>  
    10.     <jsp-config>  
    11.           <taglib>  
    12.         <taglib-uri>http://mercyblitz.blog.ccidnet.com/taglibs.tld</taglib-uri> <!-- 设置自定义标签的uri(不一定存在,但是一定要唯一),为页面的部署做好准备  
    13.         <taglib-location>/WEB-INF/taglibs.tld</taglib-location>  <!--定位你的tld文件的相对路径 -->  
    14.       </taglib>  
    15.     </jsp-config>  
    16. </web-app> 
  • 页面部署:mytag.jsp
    html 代码
     
    1. <%@ page language="java" import="java.util.*" pageEncoding="GBK"%>  
    2. <%@ taglib uri="http://mercyblitz.blog.ccidnet.com/taglibs.tld" prefix="out" %>  
    3. <html>  
    4.   <head>  
    5.     <title>mytag.jsp</title>  
    6.   </head>    
    7.   <body>  
    8.     <out:tags/>  <!-- 页面执行的结构,就是:  Hello,World -->
    9.   </body>  
    10. </html>  

Over!下篇为高级内容!
分享到:
评论
3 楼 hongli911 2013-02-26  
extends被译成扩展????
不是继承么?
我呵呵
2 楼 mercyblitz 2007-04-12  
呵呵!谢谢你的留言!没有错啊,可以在tld文件中部署uri! 
1 楼 huangyou 2007-04-11  
现在高版本的应用服务器好像不需要配置web.xml文件

相关推荐

    jsp自定义标签学习

    本文将详细介绍JSP自定义标签的学习路径,从基础概念到实践应用。 **什么是自定义标签** 自定义标签是JSP的一种扩展机制,它允许开发者定义自己的标签,这些标签可以像HTML标签一样在JSP页面中使用。自定义标签遵循...

    jsp自定义标签大全.rar

    本资源“jsp自定义标签大全”包含了一系列示例和详细教程,涵盖了从基础到高级的自定义标签使用方法,对于想要深入了解和掌握JSP自定义标签的开发者来说是一份宝贵的参考资料。通过学习和实践这些示例,你可以更好地...

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

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

    JSP自定义标签动态属性支持

    通过学习和实践这一技术,开发者可以更好地利用JSP自定义标签的灵活性,提高Web应用的开发效率和质量。同时,了解源码和工具的运用也是提升编程技能的关键,这能帮助我们深入理解底层机制,从而编写出更加高效和可靠...

    JSP自定义标签 eclipse项目

    创建一个**Eclipse项目**来学习和实践JSP自定义标签是一个很好的起点。Eclipse作为流行的Java IDE,提供了丰富的工具支持,使得创建、调试和管理JSP自定义标签变得简单。 首先,你需要创建一个新的Eclipse项目,...

    JSP自定义标签入门实例

    通过学习和实践这个JSP自定义标签入门实例,你可以掌握创建和使用自定义标签的基本流程,为进一步深入JSP开发打下坚实的基础。同时,了解自定义标签也是理解JavaServer Faces (JSF)和其他MVC框架中组件化开发的关键...

    jsp 自定义标签有实例的DLC

    一、JSP自定义标签基础 1.1 JSP标准标签库(JSTL) 在自定义标签之前,我们需要了解JSTL(JavaServer Pages Standard Tag Library),这是一个官方推荐的JSP标签库,包含许多预定义的标签,如表达式语言(EL)、XML...

    jsp自定义标签中的困扰

    通过深入学习JSP自定义标签的生命周期和`BodyTagSupport`类提供的方法,开发者能够更好地理解和解决问题,从而编写出高效、可靠的自定义标签。如果你在实现过程中遇到具体的错误或疑惑,可以参考`JSP自定义标签各...

    JSP自定义标签基础知识学习

    JSP自定义标签是一种扩展JSP表达式语言和标准标签库的机制,允许开发者创建自己的标签,以简化页面代码和提高代码重用性。自定义标签的创建和使用是JSP开发中一项重要的技能,尤其在需要封装特定业务逻辑或流程时...

    自定义JSP标签样例

    在JavaServer Pages (JSP) 技术中,自定义标签是扩展JSP功能和实现可重用组件的重要方式。自定义标签允许开发者创建自己的标签库,这些...理解和掌握自定义标签的创建与使用对于任何JSP开发者来说都是必要的基础技能。

    jsp的自定义标签

    **JSP自定义标签**是JavaServer Pages (JSP)技术的一个强大特性,它允许开发者创建可重用的、封装的代码片段,这些...通过阅读《java自定义标签.doc》文档,可以进一步学习和理解JSP自定义标签的具体实现和最佳实践。

    jsp 自定义标签

    本文将深入探讨JSP自定义标签的概念、结构和实现方法。 **一、JSP自定义标签概念** JSP自定义标签是JSP规范提供的一种机制,它允许开发者定义自己的标签库,这些标签可以像HTML标签一样在JSP页面中使用,但执行的是...

    jsp 自定义标签 供自学时用

    ### JSP自定义标签详解 #### 一、引言 JSP (Java Server Pages) 是一种基于Java的技术,用于创建动态网页。它结合了HTML、XML 和 Java 的优点,为Web 开发提供了一种强大的解决方案。JSP 自定义标签是 JSP 技术的一...

    tld自定义标签基础入门demo

    这个"tld自定义标签基础入门demo"是一个针对初学者的教程,旨在帮助刚接触TLD的程序员快速上手。 首先,我们需要理解TLD文件的结构和作用。TLD文件是一个XML文档,它包含了一系列关于自定义标签的信息,如标签的...

    jsp学习总结jsp基础自定义标签eL表达式

    ### JSP学习总结:基础、自定义标签与EL表达式 #### JSP概念与特性 JSP(Java Server Pages)是一种服务器端脚本语言,它允许开发者在HTML文档中嵌入Java代码,使得网页能够根据不同的请求动态生成内容。JSP文件在...

    掌握自定义JSP标签 免费分享

    首先,了解JSP自定义标签的基础概念。自定义标签是由开发者自己定义的,它们扩展了JSP的核心功能,可以封装复杂的业务逻辑或UI组件。自定义标签通常包含两个部分:标签处理器类和标签库描述文件(TLD,Tag Library ...

    Java自定义标签开发.zip

    首先,我们要了解JSP自定义标签的基本概念。在JSP中,自定义标签类似于HTML标签,但它们提供了更大的灵活性和功能。开发者可以定义自己的标签行为,这使得代码更加模块化,降低了代码间的耦合度。与JSP内置标签不同...

    公司内部自定义标签的使用

    JSP自定义标签通常由两部分组成:标签处理类(Tag Handler)和标签库描述文件(TLD, Tag Library Descriptor)。标签处理类实现了自定义逻辑,而TLD文件则定义了标签的属性、行为以及与处理类的关联。在公司内部,...

Global site tag (gtag.js) - Google Analytics