好有缘导航网

JSP 域名空间中的自定义标记库:创建和使用 (jsp命名空间)


文章编号:15169 / 分类:互联网资讯 / 更新时间:2024-04-17 15:51:23 / 浏览:

概述

JSP 域名空间提供了创建和使用自定义标记库的能力,极大地增强了 JSP 开发的灵活性。本文将指导您完成创建和使用自定义 JSP 标记库的完整过程。

创建自定义标记库

  1. 创建标记库描述符文件(TLD): 创建一个 XML 文件 (.tld),其中定义标记库的元数据,包括标记名称、属性和格式规则。
  2. JSP域名空间中的自定义标记库创建和使用
  3. 创建标记处理类: 对于每个标记,编写一个 Java 类来处理标记的逻辑和呈现。这些类必须实现 javax.servlet.jsp.tagext.Tag 接口。
  4. 打包 TLD 和标记处理类: 将 TLD 文件和标记处理类 JAR 文件打包在一起。

使用自定义标记库

  1. 部署标记库: 将标记库 JAR 文件部署到您的 Web 容器中。
  2. 在 JSP 页面中声明域名空间: 在 JSP 页面中使用 <%@ taglib... %> 指令来声明自定义标记库的域名空间。
  3. 使用标记: 使用标记库提供的标记。这些标记将出现在定义的域名空间中。

详细步骤

创建 TLD 文件




示例:创建日期格式化标记

TLD 文件



1.02.1date-formatting

关于JSP中JSTL标签库的问题!!!

<%@ page taglib prefix=c uri=这个不是这么写的,应该是:<%@ taglib prefix=c uri=

jsp的哪个指令允许页面使用者自定义标签库

JSP的taglib指令允许页面使用者自定义标签库。 在JSP页面中,使用taglib指令可以引入自定义的标签库。 该指令可以提供自定义标签库的名称、URI、前缀等属性,使得JSP页面可以使用自己定义的标签。 通过自定义标签库,可以将JSP页面的功能划分为不同的模块,让页面的编写更加方便和模块化。 使用taglib指令引入自定义标签库时,需要指定URI,这个URI就是打包成jar文件的自定义标签库的文件路径。

请问一下jsp空间怎么使用的,对应的语言程序是java吗

JSP的含义:JSP技术是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。 JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。 在传统的网页HTML文件(*,*)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*)。 Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。 程序片段可以操作数据库、重新定向网页以及发送 email 等等,这就是建立动态网站所需要的功能。 所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无Java Applet,甚至无Frame。 JAVA的含义:Java 是 Sun 公司在1996年推出的一种编程语言。 Java 技术是20世纪业界出现的最重要的技术之一,这种与平台无关的语言导致了编程世界的一场革命。 目前Java是互联网上最流行的编程语言之一。 它是一种通过解释方式来执行的语言,语法规则和 C++ 类似。 同时, Java 也是一种跨平台的程序设计语言。 用 Java 语言编写的程序叫做 “Applet” (小应用程序),用编译器将它编译成类文件后,将它存在 WWW 页面中,并在 HTML档上作好相应标记,用户端只要装上 Java 的客户软件就可以在网上直接运行 “Applet” 。 Java 非常适合于企业网络和 Internet 环境,现在已成为 Internet 中最受欢迎、最有影响的编程语言之一。 Java 有许多值得称道的优点,如简单、面向对象、分布式、解释性、可靠、安全、结构中立性、可移植性、高性能、多线程、动态性等。 Java 摈弃了 C++ 中各种弊大于利的功能和许多很少用到的功能。 Java 可以运行与任何微处理器,用 Java 开发的程序可以在网络上传输,并运行于任何客户机上。 它不但是一种跨平台的通用编程语言,同时也是一种通用于各种计算机网络、特别是互联网的技术。 它的特点是简单、便于网上传输、对硬件环境依赖程度低等。 现在在互联网上有大量Java应用程序。 Sun公司开发出该语言以来,它已从一种编程语言演化为一个极具活力的计算平台。 Java有着非常诱人的前景,其平台独立性给整个网络世界带来了巨大变革,为软件开发者提供了充分展示的舞台;其 “Write Once Run Everywhere”(编写一次,到处运行)的承诺使人们空前渴望实现在Internet上的统一数据交换,并让人们在这样的诱惑下为想像中的各种系统间的互操作能力投入了巨大的人力和物力。

jsp中tag标记怎样建立

JSP标签有两种实现方法,一种是使用tag 文件,一种是使用tld文件。

1、使用tag文件

标签名和tag文件名一致, tag文件为JSP文件,可以有属性,把JSP页面当JavaBean文件一样使用。

例子:

1

学会怎样使用Jsp 内置标签,jstl标签库及自定义标签

学会怎样使用Jsp 内置标签,jstl标签库及自定义标签1jsp自定义标签需要引入两个jar 分别是2建立tld文件,建议目录为WEB-INF下,tld文件结构为下图,uri为整个标签库的名称,可以理解为java类,每一个tag分支,可以理解为java类中的每一个方法,我们在调用jsp自定义标签的时候就和调用java类一样,通过类找方法。 tag分支重点要讲tag-class,该属性为该标签方法所指向的java类。 attribute为参数,相信属性看步骤三附图。 3关于tld文件属性的说明,可以参考下图4将tld文件引入中,建议名称与tld文件标签库名称一致5编写jsp自定义标签类,该类继承TagSupport类,我们需要做的就是重写doStartTag,我们可以通过JspWriter将后台处理的东西直接输出到jsp页面。 当然了,输出的内容在实际操作中肯定经过了非常复杂的逻辑。 6页面调用,首先需要引入标签,<%@ taglib uri=option prefix=option%> option为标签名 定义在tld文件中,引用之后就可以在页面调用自定义标签了,简单的一行代码。 即可实现一个grid的输出,且可以重复利用。

JSP自定义标签执行顺序

首先来看一下简单标签接口的方法以及它的生命周期

一 SimpleTag接口的方法

doTag() void

getParent() JspTag

setJspBody(javax servlet jsp tagext JspFragment body) void

setJspContext(javax servlet jsp JspContext pc) void

setParent(javax servlet jsp tagext JspTag tag) void

二 SimpleTag接口的声明周期

每次遇到Jsp标签容器构造一个SimpleTag实例 这个构造函数没有参数

setJspContext() setParent()只有当前的标签在另一个标签之内时才调用setParent()方法

设置属性 调用每一个属性的setter方法

setJspBody(javax servlet jsp tagext JspFragment body)

doTag()所有标签的逻辑迭代和Body计算都在这个方法中

return下面是对带体标签的介绍

三 带Body的自定以标签

必须实现Tag接口的doStartTag()和doEndTag()方法

可以实现IterationTag接口的doAffterBody()方法

可以实现BodyTag接口的doInitBody()和setBodyContent(javax servlet jsp tagext BodyContent bc)方法

doStartTag()可以返回的值 A SKIP_BODY 不处理标签体B EVAL_BODY_INCLUDE 计算的体的结果被包含在out(JspWriter)中输出C EVAL_BODY_BUFFERED 一个BodyContent对象被创建

doEndTag()方法可以返回SKIP_PAGE或者EVAL_PAGE以确定是否继续计算其余的页面

doAffterBody可以返回EVAL_BODY_AGAIN SKIP_BODY以确定是否再次计算标签体

四 BodyTag的处理过程

setPageContext(javax servlet jsp PageContext pc) void

setParent(javax servlet jsp tagext Tag tag) void

doStartTag() int

setBodyContext(BodyContext bc) void

doInitBody() int

doAffterBody() int

doEndTag() int

lishixinzhi/Article/program/Java/JSP//

在Myeclipse的JSP页面上怎么引入JSP标签库?

引用就像下面这样:<%@ taglib prefix=c uri=%>prefix是你定义的标签的前缀,uri是你要用的标签库的一个资源的定位(通常Myeclipse有快捷键,默认是Alt+/,你选择相应的就是了)比如我要用这个标签库里的if,就像下面这样test里输你的条件。

详细讲解JSP自定义标签

一 基本概念标签(Tag)标签是一种XML元素 通过标签可以使JSP网页变得简洁并且易于维护 还可以方便地实现同一个JSP文件支持多种语言版本 由于标签是XML元素 所以它的名称和属性都是大小写敏感的 标签库(Tag library)由一系列功能相似 逻辑上互相联系的标签构成的集合称为标签库 标签库描述文件(Tag Library Descriptor)标签库描述文件是一个XML文件 这个文件提供了标签库中类和JSP中对标签引用的映射关系 它是一个配置文件 和web xml是类似的 标签处理类(Tag Handle Class)标签处理类是一个Java类 这个类继承了TagSupport或者扩展了SimpleTag接口 通过这个类可以实现自定义JSP标签的具体功能 二 自定义JSP标签的格式为了使到JSP容器能够使用标签库中的自定义行为 必须满足以下两个条件 )从一个指定的标签库中识别出代表这种自定义行为的标签 )找到实现这些自定义行为的具体类 第一个必需条件 找出一个自定义行为属于那个标签库 是由标签指令的前缀(Taglib Directive s Prefix)属性完成 所以在同一个页面中使用相同前缀的元素都属于这个标签库 每个标签库都定义了一个默认的前缀 用在标签库的文档中或者页面中插入自定义标签 所以 你可以使用除了诸如jsp jspx java servlet sun sunw(它们都是在JSP白皮书中指定的保留字)之类的前缀 uri属性满足了以上的第二个要求 为每个自定义行为找到对应的类 这个uri包含了一个字符串 容器用它来定位TLD文件 在TLD文件中可以找到标签库中所有标签处理类的名称 当web应用程序启动时 容器从WEB INF文件夹的目录结构的META INF搜索所有以 tld结尾的文件 也就是说它们会定位所有的TLD文件 对于每个TLD文件 容器会先获取标签库的URI 然后为每个TLD文件和对应的URI创建映射关系 在JSP页面中 我们仅需通过使用带有URI属性值的标签库指令来和具体的标签库匹配 三 自定义JSP标签的处理过程在JSP中引入标签库在JSP中使用标签库标签Web容器根据第二个步骤中的prefix 获得第一个步骤中声明的taglib的uri属性值Web容器根据uri属性在web xml找到对应的元素 从元素中获得对应的元素的值 Web容器根据元素的值从WEB INF/目录下找到对应的 tld文件 从 tld文件中找到与tagname对应的元素 凑元素中获得对应的元素的值 Web容器根据元素的值创建相应的tag handle class的实例 Web容器调用这个实例的doStartTag/doEndTag方法完成相应的处理 四 创建和使用一个Tag Library的基本步骤创建标签的处理类(Tag Handler Class)创建标签库描述文件(Tag Library Descrptor File)在web xml文件中配置元素 在JSP文件中引人标签库五 TagSupport类简介处理标签的类必须扩展javax servlet jsp TagSupport TagSupport类的主要属性 A parent属性 代表嵌套了当前标签的上层标签的处理类 B pageContex属性 代表Web应用中的javax servlet jsp PageContext对象 JSP容器在调用doStartTag或者doEndTag方法前 会先调用setPageContext和setParent方法 设置pageContext和parent 因此在标签处理类中可以直接访问pageContext变量 在TagSupport的构造方法中不能访问pageContext成员变量 因为此时JSP容器还没有调用setPageContext方法对pageContext进行初始化 六 TagSupport处理标签的方法TagSupport类提供了两个处理标签的方法 public int doStartTag() throws JspExceptionpublic int doEndTag() throws JspExceptiondoStartTag:但JSP容器遇到自定义标签的起始标志 就会调用doStartTag()方法 doStartTag()方法返回一个整数值 用来决定程序的后续流程 A Tag SKIP_BODY:表示?>…之间的内容被忽略 B Tag EVAL_BODY_INCLUDE:表示标签之间的内容被正常执行 doEndTag:但JSP容器遇到自定义标签的结束标志 就会调用doEndTag()方法 doEndTag()方法也返回一个整数值 用来决定程序后续流程 A Tag SKIP_PAGE:表示立刻停止执行网页 网页上未处理的静态内容和JSP程序均被忽略任何已有的输出内容立刻返回到客户的浏览器上 B Tag_EVAL_PAGE:表示按照正常的流程继续执行JSP网页 七 用户自定义的标签属性如果在标签中还包含了自定义的属性 那么在标签处理类中应该将这个属性作为成员变量 并且分别提供设置和读取属性的方法 八 创建标签处理类的步骤创建包含JSP网页静态文本的文件(即是要替换自定义JSP标签的文本) 在Web应用启动时装载静态文本 创建标签处理类 九 如何创建包含JSP网页静态文本的文件使用java util Properties类来存放要替换网页中自定义JSP标签的静态文本 Properties类代表了一系列属性的集合 其实例既可以被保存到流中 也可以从流中加载 这些文本以key/value的形式存放在WEB INF目录下 例如key=value 在属性列表中这些key/value都是String类型的 十 Properties类的常用APIsetProperty(String key String value) 调用Hashtable类的put方法添加属性 getProperty(String key) 获取属性列表中key对应的属性值 load(InputStream in) 从输入流对象InputStream中读取属性列表(Properties list) store(OutputStream out String Ment) 使用适当的格式将属性列表的属性对写入输出流对象中 默认使用ISO 编码格式 以行的方式处理输入 属性的key/value之间以 = 配对 以回车 换行分隔key/value配对 十一 ServletContext类的常用APIgetContext(String uripath) 返回服务器中uripath所代表的ServletContext对象 getInitParameter(String name) 返回ServletConfig对象中name参数的值 getMineType(String file) 返回file参数代表的文件的MIME类型 getRequestDispatcher(String path) 返回path代表的RequestDispacher对象 getResourceAsStream(String path) 以输入流的形式返回path对应的资源 在输入留中对象可以为任意形式的数据 path参数必须以 / 开始且相对于Context Root 十二 如何使用ServletContxt读取并保存属性文件创建java util Properties类对象 获取ServletContext对象 将属性文件以输入流的形式读入到某个输入流对象中 将输入流对象加载到Properties对象中 将Properties对象保存到ServletContext对象中 十三 如何在Web应用启动时装载静态文本创建继承了HttpServlet类的子类 在web xml中配置这Servlet时设置load on startup属性 someclasssomepackage SomeClass 在这个Servlet的init()方法中创建java util Properties类获取当前Web应用的ServletContext对象将WEB INF目录下的属性文件读入到输入流InputStream中 InputStream in = context getResourceAsString( WEB INF/someproperties properties ) 将输入流加载到属性对象中ps load(in) 将属性对象保存到上context setAttribute( attributeName ps) 十四 如何创建标签处理类引入必需的资源import javax servlet jsp *; import javax servlet *; import java util *; import java io *;继承TagSupport类并覆盖doStartTag()/doEndTag()方法从ServletContext对象中获取java util Properties对象从Properties对象中获取key对应的属性值对获取的属性进行相应的处理并输出结果十五 创建标签库描述文件(Tag Library Descriptor)标签库描述文件 简称TLD 采用XML文件格式 定义了用户的标签库 TLD文件中的元素可以分成 类 A 标签库元素B 标签元素C 标签属性元素标签库元素用来设定标签库的相关信息 它的常用属性有 A shortname:指定Tag Library默认的前缀名(prefix) B uri:设定Tag Library的惟一访问表示符 标签元素用来定义一个标签 它的常见属性有 A name:设定Tag的名字 B tagclass:设定Tag的处理类 C bodycontent:设定标签的主体(body)内容 )empty:表示标签中没有body;)JSP:表示标签的body中可以加入JSP程序代码 )tagdependent:表示标签中的内容由标签自己去处理 标签属性元素用来定义标签的属性 它的常见属性有 A name:属性名称 B required:属性是否必需的 默认为false;C rtexprvalue:属性值是否可以为request time表达式 也就是类似于< %=…% >的表达式 十六 在Web应用中使用标签如果Web应用中用到了自定义JSP标签 则必须在web xml文件中加入元素 它用于声明所引用的标签所在的标签库/sometaglib/WEB INF/someTLD tld设定Tag Library的惟一标示符 在Web应用中将根据它来引用Tag Libray;指定和Tag Library对应的TLD文件的位置 在JSP文件中需要加入prefix表示在JSP网页中引用这个标签库的标签时的前缀 uri用来指定Tag Library的标识符 它必须和web xml中的属性保持一致 lishixinzhi/Article/program/Java/hx//

jsp自定义标签到底有什么作用?

jsp自定义标签就是通过自定义标签实现类来实现复杂的、可重复利用的功能。 简化jsp页面,提高代码的复用性。 比如现在你需要在页面定义一个数据表格(html table),和数据库中的表格结构一样,显示的数据也一样。 就可以通过定义jsp标签的方式来将sql查询,组织数据、画html表格的事情全部在jsp标签实现类中实现。 如果在系统中很多页面需要这样的表格,你定义的jsp标签就会很有用。 但实际应用要比这个复杂的多。

什么是自定义标签具体的分类

自定义标签是可重用的元件程式码,并且允许开发人员为复杂的操作提供逻辑名称。 那么你对自定义标签了解多少呢?以下是由我整理关于什么是自定义标签的内容,希望大家喜欢! 自定义标签的概念一般我们说自定义标签是指JSP自定义标签。 自定义标签在功能上逻辑上与javaBean 类似,都封装Java 程式码。 JSP开发人员使用标签库建立标签.标签库是按照功能或实现进行分组的自定义标签的 *** 。 网路上常见的CMS内容管理系统都是采用模板的形式来实现,基本上所有的CMS系统都有一套自己的模板标签书写方法,简称自定义标签。 1.标签Tag: 标签是一种XML元素,通过标签可以使JSP网页变得简洁并且易于维护,还可以方便地实现同一个JSP档案支援多种语言版本。 由于标签是XML元素,所以它的名称和属性都是大小写敏感的 2.标签库Tag library: 由一系列功能相似、逻辑上互相联络的标签构成的 *** 称为标签库。 3.标签库描述档案Tag Library Descriptor: 标签库描述档案是一个XML档案,这个档案提供了标签库中类和JSP中对标签引用的对映关系。 它是一个配置档案,和是类似的。 4.标签处理类Tag Handle Class: 标签处理类是一个Java类,这个类继承了TagSupport或者扩充套件了SimpleTag介面,通过这个类可以实现自定义JSP标签的具体功能  自定义标签的分类自定义JSP标签 1. <% @ taglib prefix=”someprefix” uri=”/sometaglib” %> 为了使到JSP容器能够使用标签库中的自定义行为,必须满足以下两个条件: 1从一个指定的标签库中识别出代表这种自定义行为的标签 2找到实现这些自定义行为的具体类 第一个必需条件-找出一个自定义行为属于那个标签库-是由标签指令的字首Taglib Directives Prefix属性完成,所以在同一个页面中使用相同字首的元素都属于这个标签库。 每个标签库都定义了一个预设的字首,用在标签库的文件中或者页面中插入自定义标签。 所以,你可以使用除了诸如jsp,jspx,java,servlet,sun,sunw它们都是在JSP白皮书中指定的保留字之类的字首。 uri属性满足了以上的第二个要求。 为每个自定义行为找到对应的类。 这个uri包含了一个字串,容器用它来定位TLD档案。 在TLD档案中可以找到标签库中所有标签处理类的名称 2. 当web应用程式启动时,容器从WEB-INF资料夹的目录结构的META-INF搜寻所有以结尾的档案。 也就是说它们会定位所有的TLD档案。 对于每个TLD档案,容器会先获取标签库的URI,然后为每个TLD档案和对应的URI建立对映关系。 在JSP页面中,我们仅需通过使用带有URI属性值的标签库指令来和具体的标签库匹配。 CMS自定义标签 CMS的自定义标签格式大同小异,以动易CMS为例,标签写法如下: {$Skin_CSS} {$MenuJS} {$ShowLogo180,60} 自定义标签的分类


相关标签: jsp命名空间创建和使用JSP域名空间中的自定义标记库

本文地址:http://www.hyyidc.com/article/15169.html

上一篇:中小企业网站设计趋势塑造令人难忘的在线体...
下一篇:网站不备案有什么后果...

发表评论

温馨提示

做上本站友情链接,在您站上点击一次,即可自动收录并自动排在本站第一位!
<a href="http://www.hyyidc.com/" target="_blank">好有缘导航网</a>
文章推荐