JSP自定义标签(tag)
什么是自定义标签
1,用户自定义的Java语言元素, 实质是运行一个或者两个接口的JavaBean;
2,可以非常机密地和JSP的表示逻辑联系在一起,又具有和普通JavaBean相同的业务逻辑处理能力;
3,当一个JSP页面转变为servlet时,其间的用户自定义标签转化为操作一个称为标签hander的对象;
4,可操作默认对象,处理表单数据,访问数据库以及其它企业服务;
自定义标签库的特点
1,通过调用页面传递参数实现定制;
2,访问所有对JSP页面可能的对象;
3,修改调用页面生成的响应;
4,自定义标签间可相互通信;
5,在同一个JSP页面中通过标签嵌套,可实现复杂交互。
如何使用自定义标签库
1,声明标签库
2,使标签库执行对Web应用程序可用
声明标签库
1,使用taglib指令声明标签库
2,语法:<%@taglib uri="URI" prefix="pre" %>
注意:a. uri属性可以是绝对的,也可以是相对URL,该URL指向标记库描述符(TLD)文件;
b. uri属性也可以是一个并不存在的URL,该URL为web.xml文件中将标记库描述符(TLD)文件的绝对
URL到本地系统的一个映射;
3,范例:<%@taglib uri="/WEB-INF/template.tld" prefix="test" %>
<%@taglib uri="http://java.sun.com/jstl/core" prefix="core" %>
使标签库执行可用
方式一:在WEB-INF/classes目录下部署标记处理程序类;
方式二:将标记处理程序类打包成jar文件并置于WEB-INF/lib目录。
几种典型的标签
1,不带属性和主体的简单标签:<mytaglibs:SomeTag/>;
2,不带主体但有属性的标签:<mytaglibs:SomeTag user="TonyDeng"/>;
3,带有主体和属性的标签:
<mytaglibs:SomeTag user="TonyDeng">
...// 标签体
</mytaglibs:SomeTag>;
注意:a. 属性列于start tag中,它是在标记库描述符(TLD)文件中指定,服务于标记库的自定义行为;
b. 标签体位于start tag和end tag间,可以是任何合法的JSP内容或者标签;
定义标签
1,开发实现tag的类(tag handler);
2,编辑标记库描述符(TLD)文件;
3,在web.xml中为标记库描述符(TLD)文件的绝对URL建立一个映射(该步骤可选);
标记库描述符(TLD)文件
1,一个描述标记库的XML文件;
2,内容开始是整个库的描述,然后是tag的描述;
3,标记库描述符(TLD)文件用于Web Container确认tag以及JSP页面发展工具;
实现tag的类(标签处理器)(tag handler)
1,是一些在引用了标签的JSP页面执行期间被Web Container调用以求自定义标签值的对象;
2,必须实现Tag, SimpleTag和BodyTag之一;
3,可以继承TagSupport和BodyTagSupport之一。
标签库的接口和类的继承关系接口的继承关系:
☉ interface javax.servlet.jsp.tagext.JspTag
☉ interface javax.servlet.jsp.tagext.SimpleTag
☉ interface javax.servlet.jsp.tagext.Tag
☉ interface javax.servlet.jsp.tagext.IterationTag
☉ interface javax.servlet.jsp.tagext.BodyTag
类的继承关系:
☉ class javax.servlet.jsp.tagext.TagSupport
(implements javax.servlet.jsp.tagext.IterationTag, java.io.Serializable)
☉ class javax.servlet.jsp.tagext.BodyTagSupport
(implements javax.servlet.jsp.tagext.BodyTag)
☉ class javax.servlet.jsp.tagext.SimpleTagSupport
(implements javax.servlet.jsp.tagext.SimpleTag)
(Interface)
JspTag
|
|ˉˉˉˉˉˉˉˉ|
(Interface) (Interface)JSP2.0
Tag SimpleTag ←--SimpleTagSupport
|
|
(Interface)
IterationTag←--TagSupport
支持迭代的标签 |
| |
| |
(Interface) |
BodyTag ←---BodyTagSupport
可以处理标签体
自定义标签的开发步骤
1,写标签处理器,也就是一个符合自定义标签规范的类 xxx.java
2,写标签库定义文件,也就是定义标签的格式规范,也要符合自定义标签的规范 xxx.tld
3,建上述两步中的相应 文件进行部署。web.xml
tld文件中的配置
<tag>
<name>loop</name>
<tag-class>com.tag.LoopTag</tag-class>
<body-content>jsp</body-content>
<!--设定自定义标签体内的内容,可以置为empty,也就是只能写空标签-->
<attribute>
<name>counter</name><!--配置自定义标签的属性名-->
<required>true</required><!--配置属性是否必须出现-->
<rtexprvalue>true</rtexprvalue><!--允许使用表达式作为属性的值-->
<type>int<type><!--配置属性的类型-->
</attribute>
</tag>
简单的标签处理程序类
1,必须实现Tag接口的doStartTag()和doEndTag()方法;
2,因为不存在Body,doStartTag()方法必须返回SKIP_BODY;
3,如其余页面要执行,doEndTag()方法返回EVAL_PAGE, 否则返回SKIP_PAGE;
4,对于每一个标签属性,你必须在标签处理程序类里定义一个特性以及get和set方法以一致于JavaBeans 体系惯例
分享到:
相关推荐
JSP+SSM项目-辅导员考评管理系统的Java毕业设计(源码+说明+演示视频+数据库).zip 【项目技术】 开发语言:Java 框架:ssm 架构:B/S 数据库:mysql 【实现功能】 包括两类用户使用,系统管理员、学生。系统管理员对...
1、个人信息(可以查看自己的基本资料) 2、通知(可以看到辅导员发来的通知) 3、活动记录(此记录专为个人提供类似记事薄一样的功能。最好有一个记事档窗口,记录活动名称、时间、地点等信息,以便以后德育分统计...
毕业设计javajsp小学生英语学习辅导软件springmvc-qkrp源码含文档工具包 后台是springmvc,页面是jsp,数据库mysql,jdk1.8,开发工具用ecplise、myecplise、sts、idea都可以 小学生英语学习辅导软件 个人中心 用户...
基于JSP+SSM的-新生报到系统毕业设计(源码+演示视频+说明+数据库).rar 【项目技术】 开发语言:Java 框架:ssm 架构:B/S 数据库:mysql 【实现功能】 学院管理员管理所有内容,涵盖了班级,专业,学院,学生,缴费...
(1)普通用户:普通用户通过该系统可以查询学习资料,在线自测。 (2)会员:会员可以通过系统浏览、下载学习资料,在线自测,留言互动。 (3)管理员:管理员主要是负责根据教学安排进行网上辅导。 包含:源码、数据库...
JSP+SSM项目-新生报到系统的Java毕业设计(源码+说明+演示视频+数据库).rar 【项目技术】 开发语言:Java 框架:ssm 架构:B/S 数据库:mysql 【实现功能】 学院管理员管理所有内容,涵盖了班级,专业,学院,学生,...
SSM+JSP项目-课程辅导网站的Java毕业设计(源码+演示视频+说明).rar 【项目技术】 开发语言:Java 框架:ssm+jsp 架构:B/S 数据库:mysql 【演示视频-编号:421】 https://pan.quark.cn/s/b3a97032fae7 【实现功能...
1.2 辅导员对后台网站进行管理,可以发布新闻、公告通知、就业信息、人文素质教育类的相关电子资料。 3、表模块: 系统后台用“表”来统一管理。 4、导师模块: 有导师所带学生的信息,数据库链接,学生与课程,学生...
【JAVA_JSP电子政务网之项目辅导视频】是针对使用JAVA和JSP技术构建电子政务系统的一个教学资源,旨在帮助学习者深入理解如何利用这两种技术来设计和实现一个实际的电子政务网络平台。电子政务网是指政府机构利用...
1. **教辅书籍**:主要包括各种官方指定教材和同步辅导用书。 2. **历年真题**:涵盖历年来软考各个级别的真题及答案解析。 ### 教辅书籍详解 #### 1. 初级 - **程序员教程(第二版)2007版**:这本书是针对初级...
本辅导员工作管理系统就是一款基于信息化技术的人员管理的平台,可以让辅导员在线的了解到自己的工作任务、在线的进行考勤和查询自己的奖罚信息等操作,管理员也可以在线的进行对每一位辅导员进行在线的管理操作,...
系统涉及到高校四大类用户:学生、任课老师、辅导员、系统管理员。 本高校考勤系统用JSP+SQLSERVER开发,开发过程中运用了页面模块化、信息发布的动态生成、静态页面显示等技术开发。本论文重点介绍本系统的用户管理...
SSM 毕业设计,SSM 课程设计,含有代码注释,新手...1. 技术组成 前端:HTML/JSP 后台框架:SSM 开发环境:idea 数据库:MySql(建议用 5.7,8.0 有时候会有坑) 部署环境:Tomcat(建议用 7.x 或者 8.x b版本),maven
标题"JSP 全国计算机等考二级Office辅导答疑系统软件源代码.zip"揭示了这是一个基于JSP技术开发的软件系统,主要用于全国计算机等级考试二级Office科目的辅导和答疑。该系统可能包含了处理考生问题、提供练习题库、...
1. **JSP技术基础** JSP(Java Server Pages)是Java平台上的动态网页技术,它将HTML代码与Java代码分离,使开发者可以更加专注于页面展示和业务逻辑的编写。JSP文件由HTML、脚本元素和指令元素组成,服务器在接收...
4.功能点描述: (1)学生 查看个人信息、查看个人的晚归记录、填写请假单、查看请假的审核情况 (2)宿管员(有待完善) 基础信息管理、查看个人信息 (3)辅导员 审核请假单、导出学生晚归记录、查看个人信息、查看...
计算机毕业设计jsp考研互助辅导平台vue论文
考评管理系统包括基本信息管理、用户管理、班级管理、活动管理、报名管理和成绩管理。 项目关键技术 开发工具:IDEA 、Eclipse ...关键技术:jsp、spring、ssm、MYSQL、MAVEN 数据库工具:Navicat、SQLyog
基于SSM+JSP的课程辅导网站毕业设计(源码+录像+说明).rar 【项目技术】 开发语言:Java 框架:ssm+jsp 架构:B/S 数据库:mysql 【演示视频-编号:421】 https://pan.quark.cn/s/b3a97032fae7 【实现功能】 这次...