jsp教程-6
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JSP实用简明教程 JSP实用简明教程
二、简单标签
JSP2.0为了简化开发标签的复杂性,增加了SimpleTag接口。 JSP2.0为了简化开发标签的复杂性,增加了SimpleTag接口。 SimpleTag接口有一个实现类SimpleTagSupport,在开发SimpleTag时,往 SimpleTag接口有一个实现类SimpleTagSupport,在开发SimpleTag时,往 往直接从SimpleTagSupport继承就可以了。类SimpleTagSupprt只需实现一 往直接从SimpleTagSupport继承就可以了。类SimpleTagSupprt只需实现一 个doTag方法即可。 doTag方法即可。 由 SimpleTag 使用的调用协议是由传统标签处理程序所使用的调 用协议简化而成的。javax.servlet.jsp.tagext.SimpleTagSupport 用协议简化而成的。javax.servlet.jsp.tagext.SimpleTagSupport 类为 SimpleTag 中所有方法提供了默认的实施。完整的接口定义如下所示: public interface SimpleTag extends JspTag { public void doTag()throws JspException, java.io.IOException; public void setParent(JspTag parent); public JspTag getParent(); public void setJspContext(JspContext pc); public void setJspBody(JspFragment jspBody); }JΒιβλιοθήκη P实用简明教程 JSP实用简明教程
三、标签库的重用
使用JDK的jar命令可以创建JAR文件,步骤如下: (1)创建一个目录,包含JAR中用到的所有文件。 TLD文件必须放在主目录下的META-INF目录下,标签的处理器类文件放 在主目录下面,除META-INF目录的任何位置,这里我们直接放到主目 录下。 (2)打开CMD界面,进入主目录的上一级目录 …>cd D:\MySelectTag 然后使用命令 D:\>jar cvf MySelectTag.jar MySelect.class MTETA-INF 就可创建包含该目录下所有文件的JAR文件;最后可以使用命令 D:\>jar tf MySelectTag.jar 对JAR文件的配置很简单,即将生成的JAR文件复制到/WEBINF/lib目录下。 使用JAR文件配置的标签库,同样需要使用taglib指令引用标签库, 只是指令的uri参数值要使用TLD文件中的uri值。
JSP实用简明教程 JSP实用简明教程
一、JSP自定义标签 JSP自定义标签
1、创建自定义标签
(4)网站的web.xml文件:这是网站的初始化文件,在这个文件 中,定义了网站中用到的自定义标签,以及哪个tld文件用来描述每个自定 义的标签。在自定义标签使用时,该内容是可选的,下面给出的例子中, 我们将不会使用该文件。 (5)分发文件(一个WAR或者JAR文件):如果想重用自定义标签 的话,需要一个方法来将它由一个项目转移到另一个项目中。将标签库打 包为一个JAR文件是一个简单而且有效的方式。 (6)JSP页面上的标签库声明:仅需使用标签库标示符即可方便 得声明页面上存在的标签。之后,用户就可以在该JSP页面的任何地方使用 它。
•
JSP实用简明教程 JSP实用简明教程
一、JSP自定义标签 JSP自定义标签
1、创建自定义标签
一个简单的自定义标签由下面的元素构成: (1)JavaBeans:为了得到Java与生具来的面向对象的好处,可 重用的代码应该放到一个独立的代码容器中。这些JavaBeans并不是标签库 的一部分。不过它是你的代码库用来执行相关任务的基本代码块。 (2)标签处理:这是标签库的真正核心。一个标签处理器将引用 它需要的任何资源(JavaBeans)和访问用户的JSP页面的全部信息 (pageContext对象)。JSP页面也会将所有已经被设置的标签属性和JSP页 面上的标签体中的内容传送给标签处理器。在标签处理器处理完毕后,它 将发回输出到用户的JSP页面进行处理。 (3)标签库的描述(tld文件):这是一个简单的XML文件,它记 录着标签处理器的属性、信息和位置。JSP容器通过这个文件来得知从哪里 及如何调用一个标签库。这个文件是必须的。
JSP实用简明教程 JSP实用简明教程
二、简单标签
1、简单标签的基本生命周期
(3)容器为每个为该标签所定义的属性而调用设置器(setXxx), 其顺序是它们出现在JSP页或标签文件中的顺序。如果属性值是表达式语言 的表达式或运行时表达式,则它首先被赋值,然后被传递到设置器。另一 方面,如果属性为动态属性,则调用setDynamicAttribute()。 (4)由容器调用setJspBody()方法,将该标签的主体设置为 JspFragment。如果标签被声明为具有空的主体,则将null值传递到 setJspBody()。 (5)由容器调用doTag()方法。所有的标签逻辑、迭代、主体赋 值等都在该方法中发生。 (6)在doTag()方法返回后,所有的变量被同步。
JSP实用简明教程 JSP实用简明教程
二、简单标签
1、简单标签的基本生命周期
当 JSP 中需要简单标签处理程序时,由容器对其进行实例化,从 而执行,然后放弃该程序。 简单标记处理程序发生以下的生命周期事件(以相同顺序): (1)每次容器遇到标签时,创建新的标签处理程序实例。通过在 相应的实施类上调用零参数构造器,完成此过程。注意必须为每个标签调 用创建新实例,这很重要。 (2)在标签处理程序中调用setJspContext()和setParent()方法。 如果传递的值是“null”,则不需要调用setParent()方法。在使用标签文 件的情况下,创建一个JspContext 包装,以便标签文件看上去具有其本身 的页面范围。调用getJspContext()必须返回所包装的JspContext。
JSP实用简明教程 JSP实用简明教程
一、JSP自定义标签 JSP自定义标签
2、使用自定义标签
在JSP页面中使用自定义标签的步骤如下: JSP页面中使用自定义标签的步骤如下: (1)使用taglib指令,在JSP中引入标签库: )使用taglib指令,在JSP中引入标签库: <% @ taglib prefix=”taglibprefix” uri=”tagliburi” %> prefix=”taglibprefix” uri=”tagliburi” (2)在JSP中使用标签库标签; )在JSP中使用标签库标签; (3)Web容器根据prefix,获得taglib的uri属性值; Web容器根据prefix,获得taglib的uri属性值; (4)Web容器根据uri属性在web.xml找到对应的元素; Web容器根据uri属性在web.xml找到对应的元素; (5)从元素中获得对应的元素的值; (6)Web容器根据元素的值从WEB-INF/目录下找到对应的.tld文件; Web容器根据元素的值从WEB-INF/目录下找到对应的.tld文件; (7)从.tld文件中找到与tagname对应的元素; )从.tld文件中找到与tagname对应的元素; (8)从标签中获得对应的元素的值; (9)Web容器根据元素的值创建相应的tag handle class的实例; Web容器根据元素的值创建相应的tag class的实例; (10)Web容器调用这个实例的doStartTag/doEndTag方法完成相应的处理。 10)Web容器调用这个实例的doStartTag/doEndTag方法完成相应的处理。
JSP实用简明教程 JSP实用简明教程
第6章 JSP自定义标签 JSP自定义标签
• 标签库描述文件(Tag Library Descriptor):是一个XML 文件,这个文件提供了标签库中类和JSP中对标签引用的 映射关系。它是一个配置文件,和web.xml是类似的。 标签处理类(Tag Handle Class):标签处理类是一个 Java类,这个类继承了TagSupport或者扩展了SimpleTag 接口,通过这个类可以实现自定义JSP标签的具体功能
JSP实用简明教程 JSP实用简明教程
第6章 JSP自定义标签 JSP自定义标签
重点内容: 重点内容:
JSP自定义标签 JSP自定义标签 简单标签 标签库重用
JSP实用简明教程 JSP实用简明教程
第6章 JSP自定义标签 JSP自定义标签
JSP自定义标签(以下简称标签)的最大作用在于让用户能够自 行制定一个标签。它可以大大简化编程人员在页面中输入各种录 入框的代码(诸如此类的代码: <input type=“text” name=“taxpayerName” value = “ ,<select name=”collectionItemCode“ class=”required“ style=”width:2 00“ ...), 并使之结构化。在讲解具体的技术之前,让我们先弄明白以下几个基 本概念: • 标签(Tag):是一种XML元素,通过标签可以使JSP网页变 得简洁并且易于维护,还可以方便地实现同一个JSP文件 支持多种语言版本。由于标签是XML元素,所以它的名称 和属性都是大小写敏感的 • 标签库(Tag library):由一系列功能相似、逻辑上互相 联系的标签构成的集合称为标签库。