`
KuangYeYaZi
  • 浏览: 52606 次
文章分类
社区版块
存档分类
最新评论

jsp 自定义标签 学习笔记 (1)

阅读更多

http://zgqhyh.iteye.com/blog/198249

 

jsp 自定义标签 学习笔记 (1) 
简单标签的学习 

1、标签的功能实现是通过一个具体类来实现的,这个类要实现一个接口。而这个类被称作标签处理器(tag handler) 
2、标签的功能特性(如标签的名称及属性)都被定义在一个标签库描述符文件(tag library descriptor)TLD中. 
3、当标签最终在页面上被使用时,标签处理器的一个实例就会被创建,并且它的方法会被调用 
4、SimpleTag接口 
  这个接口 是在jsp2.0规范中定义的。它定义了简单标签以及jsp页面之间的关系。 
  这个接口本身服务以下两个目的: 
  (1) 为简单标签提供运行时环境 
  (2)它提供了一个方法,通过这个方法来执行简单标签处理器所封装的功能 
下面是这个接口的代码 

Java代码  收藏代码
  1. package javax.serlet.jsp.tagext;  
  2. public interface SimpleTag extends JspTag{  
  3.   public void doTag() throws JspException,IOException;  
  4.   public JspTag getParent();  
  5.   public void setJspBody(JspFrgment jspBody);  
  6.   public void setJspContext(JspContext jspContext);  
  7.   public void setParent(JspTag parent);  
  8. }  


各个方法的执行顺序,是由jsp规范确定的。 
 

5、SimpleTagSupport 类 
为了方便,jsp规范提供了一个类,javax.servlet.jsp.tagext.SimpleTagSupport 类,这个类提供了SimpleTag接口的实现。现在,只需要继承这个类,并且 重写doTag()方法即可。 
6、一个简单标签的例子 
功能是在页面上显示出当前的时间。 
(1)标签处理器 

Xml代码  收藏代码
  1. package com.mycom.cn.tag;  
  2. import java.io.IOException;  
  3. import java.text.DateFormat;  
  4. import java.util.Date;  
  5.   
  6. import javax.servlet.jsp.JspException;  
  7. import javax.servlet.jsp.tagext.SimpleTagSupport;  
  8.   
  9. public class DateTimeTag extends SimpleTagSupport{  
  10.     public void doTag() throws JspException, IOException{  
  11.         DateFormat df = DateFormat.getDateTimeInstance(  
  12.                 DateFormat.MEDIUM,DateFormat.MEDIUM);  
  13.         getJspContext().getOut().write(df.format(new Date()));  
  14.     }  
  15. }  


7、tld文件 

Java代码  收藏代码
  1. <?xml version="1.0" encoding="GBK" ?>  
  2. <!DOCTYPE taglib  
  3.   PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"  
  4.   "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">  
  5. <taglib>  
  6.     <description>对此标签库的简单描述</description>  
  7.     <jsp-version>2.0</jsp-version>  
  8.     <tlib-version>1.0</tlib-version>  
  9.     <short-name>testTag</short-name>  
  10.     <uri>http://www.mycom.cn</uri>    
  11.     <tag>  
  12.         <name>datetime</name>  
  13.         <tag-class>com.mycom.cn.tag.DateTimeTag</tag-class>  
  14.         <body-content>empty</body-content>  
  15.         <description>输出当时日期和时间</description>  
  16.     </tag>      
  17. </taglib>  


7、布署 
class文件要放在classpath下,tld文件放在WEB-IN下的目录中 
8、在页面上引用 
<

Java代码  收藏代码
  1. %@ taglib uri="/WEB-INF/testtag.tld" prefix="testTag" %>  
  2. <testTag:datetime/>  
分享到:
评论

相关推荐

    JSP自定义标签学习笔记

    本人自行研究JSP自定义标签的学习笔记 目录如下: 目录 一、概述 1 1.1 使用简单标签机制 2 1.2 使用标签文件 3 二 、自定义标签简介 3 2.1 自定义标签概念 3 2.2 标签相关概念 3 2.3 如何创建自定义标签 3 三、自...

    自定义标签学习笔记

    自定义标签学习笔记1

    JSP网络编程学习笔记源代码 part2

    第五篇为“标签语言和表达式语言”,主要讲述JSP的标签技术,JSP提供的标准标签库JSTL的用法及用户如何自定义自己的标签库;第六篇为“Web应用高级专题”,主要讲述Servlet过滤器、JSP异常处理、JSP日志、认证和安全...

    Jsp_Servlet学习课堂笔记

    关于Jsp以及Servlet的学习笔记,包含有JavaBean 自定义标签库等等一系列重点的概念以及代码 绝对超值

    javaWeb学习笔记基础知识

    Servlet,请求和响应机制,jsp动态网页技术,会话跟踪 javaBean,JSP常用标签和自定义标签,AJAX实例,以及监听器,过滤器和BaseServlet和分页

    fckeditor学习笔记

    fckeditor学习笔记 FCKEditor的调用: ...在jsp中通过自定义标签调用 注:拷jar包 fckeditor-java-2.4.1\fckeditor-java-core-2.4.1.jar fckeditor-java-2.4.1\lib\*; slf4j-simple-1.5.2.jar;

    JSP学习笔记之基础语法

    taglib指令:使用标签库定义新的自定义标签,在jsp页面中启动自定行为 page指令语法  &lt;&#37;@page 属性1=”属性值” 属性2=”属性值1,属性值2″ 属性n=”属性值n”%&gt; jsp注释 在jsp页面的注释。 HTML的注释: &...

    Java/JavaEE 学习笔记

    JSP学习笔记..................236 JSP前言.................236 第一章 Introduction to JSP...............238 第二章 Creating,Deploying and Executing a JSP..................239 第三章 JSP Scriplets,...

    J2EE学习笔记(J2ee初学者必备手册)

    JSP学习笔记..................236 JSP前言.................236 第一章 Introduction to JSP...............238 第二章 Creating,Deploying and Executing a JSP..................239 第三章 JSP Scriplets,...

    javaweb学习笔记

    包含内容 01web.doc 02Servlet.doc 03request&response.doc ... 07自定义标签.doc 08注册案例.doc 09sql.doc 10jdbc.doc 11jdbc.doc 12jdbc.doc 13jdbc.doc 14过滤器.doc 15uploadListener.doc

    Java学习笔记-个人整理的

    \contentsline {chapter}{Contents}{2}{section*.1} {1}Java基础}{17}{chapter.1} {1.1}基本语法}{17}{section.1.1} {1.2}数字表达方式}{17}{section.1.2} {1.3}补码}{19}{section.1.3} {1.3.1}总结}{23}{...

    swing界面设计之JTree

    (十七) Swing 学习笔记 108 Swing API 包括18个公共包: 108 例程1.1 HelloWorldSwing.java 109 例程2.2 HelloWorldJFrame.java 110 (十八) 动态加载文件树的java程序 111 FileSystemTree.java源代码 112 //内部类 ...

Global site tag (gtag.js) - Google Analytics