没有合适的资源?快使用搜索试试~ 我知道了~
首页JSP自定义标签学习笔记
JSP自定义标签学习笔记
4星 · 超过85%的资源 需积分: 9 11 下载量 27 浏览量
更新于2023-03-03
评论
收藏 297KB DOC 举报
本人自行研究JSP自定义标签的学习笔记 目录如下: 目录 一、概述 1 1.1 使用简单标签机制 2 1.2 使用标签文件 3 二 、自定义标签简介 3 2.1 自定义标签概念 3 2.2 标签相关概念 3 2.3 如何创建自定义标签 3 三、自结束标签(不带标签体,TagSupport) 3 3.1 自结束标签简介 3 3.2 自结束标签开发示例 3 四、标签中的属性 3 4.1 为自定义标签添加属性 3 4.2 标签综合示例 3 4.3 TLD 文件概述 3 五、标签中的标记体 3 5.1 标记体简介 3 5.2 一个简单的带标记体的标签 3 5.3 一个简单的带标记体的标签(二) 3 六、标签中的子标记 3
资源详情
资源评论
资源推荐
JSP自定义标签学习笔记
目录
一、概述........................................................................................................................................ 1
1.1 使用简单标签机制........................................................................................................... 2
1.2 使用标签文件.................................................................................................................. 4
二 、自定义标签简介................................................................................................................... 4
2.1 自定义标签概念............................................................................................................... 4
2.2 标签相关概念.................................................................................................................. 5
2.3 如何创建自定义标签....................................................................................................... 5
三、自结束标签(不带标签体,TagSupport).................................................................................6
3.1 自结束标签简介............................................................................................................... 6
3.2 自结束标签开发示例....................................................................................................... 6
四、标签中的属性...................................................................................................................... 10
4.1 为自定义标签添加属性................................................................................................. 10
4.2 标签综合示例................................................................................................................ 13
4.3 TLD 文件概述................................................................................................................. 15
五、标签中的标记体.................................................................................................................. 16
5.1 标记体简介.................................................................................................................... 16
5.2 一个简单的带标记体的标签......................................................................................... 16
5.3 一个简单的带标记体的标签(二).............................................................................19
六、标签中的子标记.................................................................................................................. 24
一、概述
JSP 2.0 中提供了两种新的开发自定义标记的方法:
1、简单标签机制SimpleTag
JSP 2.0 中加入了新的创建自定义标记的API:javax.servlet.jsp.tagext.SimpleTag,该API
定义了用来实现简单标记的接口。和JSP 1.2 中的已有接口不同的是,SimpleTag 接口不使
用doStartTag()和doEndTag()方法,而提供了一个简单的doTag()方法。这个方法在调用该标
记时只被使用一次。一个自定义标记中实现的所有逻辑都在这个方法中实现。相对JSP1.2
中自定义标记机制,SimpleTag 的方法和处理周期要简单得多。
2、 标签文件
标签文件允许JSP 网页作者使用JSP 语法创建可复用的标签库。标签文件的扩展名必须
是.tag。
1.1 使用简单标签机制
与JSP1.2 相似,开发自定义标签要遵循“开发标记类---配置TLD 文件----在JSP 中使用”
的过程,
示例如下:
步骤一:编写标记处理类AddTag.java
package tag;
import java.io.IOExcep$on;
import javax.servlet.jsp.JspContext;
import javax.servlet.jsp.JspExcep$on;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.SimpleTagSupport;
public class AddTag extends SimpleTagSupport{
private int num1 = 0;
private int num2 = 0;
public void setNum1(int num1) {
this.num1 = num1;
}
public void setNum2(int num2) {
this.num2 = num2;
}
public void doTag() throws JspExcep$on, IOExcep$on {
JspContext ctx = getJspContext();
JspWriter out = ctx.getOut();
int sun = num1+num2;
out.print(num1+"+"+num2+"="+sun);
}
}
步骤二:编写描述符文件 test.tld:放在/WEB-INF/test-tld/test.tld下
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library
1.1//EN"
"http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<taglib> <!-- 标签定义成<test:add /> -->
<tlibversion>1.0</tlibversion>
<jspversion>1.2</jspversion>
<shortname>test</shortname> <!-- 这个test可以设置为空,你标签就可以定义
成<add />了,不过一般比较常见的都是<test:add />这种类型的 -->
<tag>
<name>add</name>
<tagclass>tag.AddTag</tagclass>
<bodycontent>empty</bodycontent> <!-- 就是<test:add ></test>中
间的内容是空的 -->
<info>Add Tag</info>
<attribute>
<name>num1</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>num2</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
步骤三:在JSP 中使用标记:
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="test" uri="/WEB-INF/test-tld/test.tld" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>测试自定义标签</title>
</head>
<body>
SimpleTag 测试:<br />
<h1><test:add num1="2" num2="3"/> </h1>
</body>
</html>
无需在 web.xml 下配置,
运行结果如下:
1.2 使用标签文件
通过标签文件实际上可以将一个JSP 文件的内容作为标签处理程序,但该文件扩展名必须
是.tag,
示例如下:
1) 标记文件hello.tag,该文件存放在 WEB-INF\tags 目录下
hello.tag.<br>
IP:<%= request.getRemoteAddr() %>
2) 在JSP 中使用tag 文件
<%@ page contentType="text/html;charset=gb2312" %>
<%@ taglib prefix="test" tagdir="/WEB-INF/tags/" %>
<h2>Tag File 测试</h2>
<test:hello/>
3) 运行效果如下:
二 、自定义标签简介
2.1 自定义标签概念
JSP标签分为标准JSP 环境自带的标签(即前面章节中学习过的JSP 动作标签)和JSP
自定义标签。JSP 自定义标签是用户定义的标记,它遵循XML 语法。当servlet 容器处理自
定义标记时,会自动调用一个Java 类文件完成相对应的功能。
Java 开发人员编写标记处理程序类以处理标记并处理所有需要的Java 代码和数据操作。
对于Web页面设计者来说,自定义标记与标准HTML 标记使用起来没什么区别,但HTML
标记只能完成前台显示的功能,而自定义标记可以在后台完成某些操作。
正确编写自定义标记可以让 Web 设计者创建、查询和操作数据而无需编写一行Java 代
码。正确使用自定义标记使 Java 开发人员不必再在编码过程中考虑表示层。这样应用程序
开发小组的每一位成员都可以关注于他或者她最擅长的事物。
所以说,JSP 自定义标记为在动态Web 页中将表示与业务逻辑分离提供了一种标准化
的机制,使页面设计者可以将注意力放到表示上,而应用程序开发人员编写后端的代码。
2.2 标签相关概念
JSP 自定义标签的使用语法与普通HTML标签相同,与自定义标签相关的基本术语简
单说明如下,
这些术语在开发JSP 自定义标签时要用到:
1) 自结束标签——没有标记体的标签
示例:<test:myhrtag />
说明:假设myhrtag 是一个自定义标签
2) 属性
示例:<test:myhrtag color=”red” />
说明:以上标签中包含了color 属性,值为red
3) 带标记体的标签
示例:<test:myhrtag > xxxxx </test:myhrtag>
说明:以上标签中间的xxxxx 即为标记体
4) 子标记
示例: <test:myhrtag >
<test:mytag2/>
</test:myhrtag>
说明:以上myhrtag 标签中间的mytag2 即为子标记
2.3 如何创建自定义标签
自定义标签功能的实现要求在后台必须有一个相关的JAVA 类的支持,但并不是任意
编写一个JAVA 类就能处理JSP 标签,这个类也必须实现指定的规范才能用于支持JSP 标签,
这些规范表现形式也是接口和类,它们在javax.servlet.jsp.tagext包中声明,主要接口/类的描
述如下:
javax.servlet.jsp.tagext.Tag 接口,所有处理JSP 标签的类必须实现该接口。该接口中声
明了6个方法,如果直接从该接口生成类则必须实现所有的6 个方法,通常不会直接通过该
接口生成标签的处理类。
javax.servlet.jsp.tagext.TagSupport 类,该类实现了Tag 接口,用于创建不带标记体的自
结束标签,这些标签中可以带属性。
javax.servlet.jsp.tagext.BodyTagSupport 类,该类继承了TagSupport,用于创建带标记体
的标签。
通常我们自定义的标签,编写处理程序时使用TagSupport 和BodyTagSupport 即可,不
需要涉及到标签体的,继承TagSupport,需要用标签体的,用BodyTagSupport,以下是
剩余26页未读,继续阅读
liangbinny
- 粉丝: 20
- 资源: 20
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- ExcelVBA中的Range和Cells用法说明.pdf
- 基于单片机的电梯控制模型设计.doc
- 主成分分析和因子分析.pptx
- 共享笔记服务系统论文.doc
- 基于数据治理体系的数据中台实践分享.pptx
- 变压器的铭牌和额定值.pptx
- 计算机网络课程设计报告--用winsock设计Ping应用程序.doc
- 高电压技术课件:第03章 液体和固体介质的电气特性.pdf
- Oracle商务智能精华介绍.pptx
- 基于单片机的输液滴速控制系统设计文档.doc
- dw考试题 5套.pdf
- 学生档案管理系统详细设计说明书.doc
- 操作系统PPT课件.pptx
- 智慧路边停车管理系统方案.pptx
- 【企业内控系列】企业内部控制之人力资源管理控制(17页).doc
- 温度传感器分类与特点.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1