在JSP2中开发标签库需要以下几个步骤:

1.开发自定义标签处理类;

2.建立一个*.tld文件,每个*.tld文件对应一个标签库,每个标签库可包含多个标签;

3.在JSP文件中使用自定义标签。

第一步骤:开发自定义标签类。标签类需要继承javax.servlet.jsp.SimpleTagSupport;如果标签类包含属性,每个属性都要有getter和setter方法;

重写doTag()方法,这个方法负责生成页码内容。

比如以下代码:

 1 package lee;
 2 import java.io.IOException;
 3 import javax.servlet.jsp.JspException;
 4 import javax.servlet.jsp.tagext.SimpleTagSupport;
 5 public class HelloTag extends SimpleTagSupport {
 6     // 重写doTag方法
 7     @Override
 8     public void doTag() throws JspException, IOException {
 9         // 获取页面输出流,并输出字符串
10         getJspContext().getOut().write("hello Tag"+new java.util.Date());
11     }
12 }

第二步骤:简历TLD文件,可以直接复制tomcat的webapps\examples\WEB-INF\jsp2\下的jsp2-example-taglib.tld文件放到自己的WEB-INF目录下。如图

然后重命名,修改内容,代码如下:

 1 <?xml version="1.0" encoding="GBK" ?>
 2 <taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 3     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
 4     version="2.0">
 5     <!-- 描述 -->
 6     <description>A tag library exercising SimpleTag handlers.</description>
 7     <!-- 版本 -->
 8     <tlib-version>1.0</tlib-version>
 9     <!-- 短名 -->
10     <short-name>mytag</short-name>
11     <!-- 指定标签库URI -->
12     <uri>http://tomcat.apache.org/mytag</uri>
13     <tag>
14         <description>Outputs Hello, World</description>
15         <!-- 标签库名字 -->
16         <name>helloWorld</name>
17         <!-- 标签处理类 -->
18         <tag-class>lee.HelloTag</tag-class>
19         <!-- 标签体内容 -->
20         <body-content>empty</body-content>
21     </tag>
22 </taglib>

第三步骤:使用自定义标签,新建一个jsp文件,代码如下:

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <%@ taglib uri="http://tomcat.apache.org/mytag" prefix="mytag"%>
 4 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 5 <html>
 6 <head>
 7 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 8 <title>Insert title here</title>
 9 </head>
10 <body>
11     <mytag:helloWorld />
12 </body>
13 </html>

转载于:https://www.cnblogs.com/luoxiaozhao/p/6964151.html

jsp2自定义标签开篇相关推荐

  1. Jsp2.0自定义标签(第二天)——自定义循环标签

    今天是学习自定义标签的第二天,主要是写一个自定义的循环标签. 先看效果图: 前台页面Jsp代码 <%@ page language="java" contentType=&q ...

  2. 自定义标签 (转载)

    转自:http://www.cnblogs.com/zhaoyang/archive/2011/12/25/2301108.html JSP自定义标签开发入门 JSP自定义标签开发入门 一般情况下开发 ...

  3. Java-Web JSTL标签库、自定义标签库和MVC设计模式

    目录 一.JSTL标签库 1.什么是JSTL 2.JSTL标签库 3.使用taglib指令导入标签库 4.core标签库常用标签 (1)out和set (2)remove (3)url (4)if ( ...

  4. jstl自定义标签接口介绍

    2019独角兽企业重金招聘Python工程师标准>>> 1. JspTag接口 JspTag接口是所有自定义标签的父接口,它是JSP2.0中新定义的一个标记接口,没有任何属性和方法. ...

  5. JSP自定义标签开发入门

    一般情况下开发jsp自定义标签需要引用以下两个包 import javax.servlet.jsp.*; import javax.servlet.jsp.tagext.*; 首先我们需要大致了解开发 ...

  6. 方立勋_30天掌握JavaWeb_自定义标签

    自定义标签主要用于移除Jsp页面中的java代码. 使用自定义标签移除jsp页面中的java代码,只需要完成以下两个步骤: 编写一个实现Tag接口的Java类(标签处理器类). 编写标签库描述符(tl ...

  7. java web 自定义标签_JavaWeb学习——自定义标签

    自定义标签 一.自定义标签概述 使用标准JSP访问.操作JavaBean,是实现展现(HTML)与业务实现(Java代码)分离的第一步.然而,标准方法功能不够强大,以至于开发者无法仅仅使用它们开发应用 ...

  8. 【自定义标签开发】01-标签简介和开发第一个标签

    自定义标签简介 自定义标签主要用于移除Jsp页面中的java代码. 要使用自定义标签移除jsp页面中的java代码,只需要完成以下两个步骤: 1.编写一个实现Tag接口的java类,把页面java代码 ...

  9. JSP笔记——7.自定义标签

    jsp标签具有与html标签一样的格式,可以用来代替jsp中的Java脚本,使代码简介.使用自定义标签之前需要建立一个*.tld文件,每个文件对应一个标签库,里面可以包含很多的自定义标签. 每一个标签 ...

最新文章

  1. hdu oj1095题解
  2. ASP.NET Core中显示自定义错误页面-增强版
  3. 51Testing第二十一期软件测试免费沙龙开始报名(上海)
  4. 如何用Python编写一个聊天室
  5. 404页面 3秒后跳到首页 实现
  6. manga camera android,Manga-Camera
  7. redis学习-redis入门概述及简介
  8. js中substr与substring的区别
  9. mysql常用调试工具_最常用的8款PHP调试工具
  10. visio箭头尾部遮盖方框边线
  11. vue+element去重并且替换符号为英文分号
  12. input内加小图标
  13. Kali linux 学习笔记(二)环境优化(网络配置、软件安装、显卡优化、线程限制、电源优化) 2020.2.12
  14. 郭霖的LitePal版本历程
  15. 懂车帝视频连接--JS逆向
  16. Python实现多图合并成长图脚本
  17. 颜色之ARGB与RGB、RGBA的区别与介绍
  18. python入门与实践答案_零基础Python入门及实践应用,中国大学MOOC(慕课)答案公众号搜题...
  19. Linux切换壁纸,Linux 随机换壁纸
  20. java-zxing扫描二维码和条形码(一维码)

热门文章

  1. 一种不通过UI给C4C自定义BO创建测试数据的方式
  2. c语言 编程 牛顿迭代,C语言编写牛顿迭代法的跟踪
  3. where显示null行_Python 之 MySql“未解之谜”14-- 都是 NULL 惹的祸(下)
  4. 弗吉尼亚理工计算机科学排名,2020年弗吉尼亚理工大学排名TFE Times美国最佳计算机科学硕士专业排名第45...
  5. 大数据平台CDH搭建
  6. 检测1的个数_冲床电永磁夹紧系统(PMCS),实现1分钟的快速换模~
  7. Flask和mysql多线程_数据库连接池Flask-SQLAlchemy中多线程安全的问题
  8. 盗贼之海3月22服务器维护,盗贼之海3月29日更新公告_3月29日更新了什么_52pk单机游戏...
  9. 这张磁盘有写保护_u盘被写保护怎么解除 磁盘被写保护怎么解除
  10. C语言链表的转置算法,c语言编程集 数据结构 顺序表 点链表 数制转换 矩阵转置.doc...