`
frank1998819
  • 浏览: 758610 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类

JSP自定义标签Taglib实现过程重点总结(转)

    博客分类:
  • jsp
 
阅读更多

Taglib指令介绍

Taglib指令,其实就是定义一个标签库以及自定义标签的前缀。

比如struts中支持的标签库,html标签库、bean标签库、logic标签库。

其中的具体的实现方式,我们不过多介绍,我们给大家从宏观的角度以及解决其中的疑难点,后面会大家介绍相应的学习资料。

除了struts的标签库,我们常见还有jstl标签库。

这样在界面jsp中引入其中的标签库或者标签库文件,然后才可以正常使用其中定义的标签。


复制代码 代码如下:
<%@ taglib prefix ="bean" uri= "http://struts.apache.org/tags-bean" %>
<%@ taglib prefix ="logic" uri= "http://struts.apache.org/tags-logic" %>
<%@ taglib prefix ="html" uri= "http://struts.apache.org/tags-html" %>
<%@ taglib prefix ="c" uri="http://java.sun.com/jsp/jstl/core" %>

 


自定义标签库优点

在jsp1.1版本中就增加了自定义标签库。自定义标签库可以看作一种优秀的组件。在自定义标签库中,我们可以把复杂的业务逻辑功能都封装在标签库中了。而不必在jsp中写具体的代码。这样,jsp代码与java编码能力不必强制耦合在一起。

提到jsp版本的问题,我们首先应该确定我们jsp版本,因为版本不同,标签库文件引入的头文件不同,并且其中的标签也有差异。

如何查看我们使用的jsp版本或servlet版本

打开tomcat下lib文件下的jsp-api.jar下的/META-INF/MANIFEST.MF文件,查看jsp版本。

因为我已经导入eclispe中,图如下:

 

 


 

lib文件下的servlet-api.jar下的/META-INF/MANIFEST.MF文件,查看servlet版本

因为我已经导入eclispe中,图如下:

 

 

Jsp2新增的特性

上述图中jsp版本是2.2,servlet版本是3.0。目前servlet3.0对应的是jsp2.2规范,但是一般情况下,我们把jsp2.0与jsp2.2都统称为jsp2.

如果我们使用jsp2,则web.xml使用的是servlet2.4以上的版本。那我们看一下web.xml对应的头文件:

新增的特性是:


复制代码 代码如下:
<web-app version= "4"
xmlns="http://javasuncom/xml/ns/j2ee"
xmlns:xsi="http://wwwworg/2001/XMLSchema-instance"
xsi:schemaLocation="http://javasuncom/xml/ns/j2ee
http://javasuncom/xml/ns/j2ee/web-app_2_xsd" >
</web-app>

1.直接配置jsp的属性

比如在web.xml中配置:


复制代码 代码如下:
< jsp-config>
<jsp-property-group >
<!--  对那些文件进行应用 -->
<url-pattern >* jsp</ url-pattern>
<!-- 忽略el表达式 -->
<el-ignored >true </el-ignored >
</jsp-property-group >
</ jsp-config>

当然还有很多功能:

 

2.表达式语言

表达式语言,就是使用el表达式。

3.使用TagFile

使用TagFile可以代替标签处理类和库文件。

jsp1和jsp2的标签库文件中的头文件

jsp1的标签文件的头文件:


复制代码 代码如下:
<?xml version="0" encoding= "UTF-8"?>
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc//DTD JSP Tag Library 1//EN"
"http://javasuncom/j2ee/dtds/web-jsptaglibrary_1_dtd">

根据后缀dtd,知道这是引入dtd文件,但是这具体表示什么意思呢?

若是引入dtd文件,则使用DOCTYPE 这种形式。但是 PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"是什么意思呢?

根据xml中,如何引入dtd文件?引入dtd文件有以下形式:

1.在xml文档内部引入dtd


复制代码 代码如下:
<?xml version="0"?>
<!DOCTYPE note [
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>

2.在xml文档引入外部dtd文件
复制代码 代码如下:
<?xml version="0"?>
<!DOCTYPE note SYSTEM "notedtd">
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>

<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>

在文档类型声明时,用管间质SYSTEM或PUBLIC来指出外部DTD文件的位置

用system关键字,如下:<!DOCTYPE 根元素的名字 SYSTEM "外部DTD文件的URI">

用public如下:<!DOCTYPE 根元素的名字 PUBLIC "DTD的名字" "外部DTD文件的URI">

一般用system关键字来形容是私有的dtd文件。

而public关键字来形容的是公共的dtd文件。public形式,首先默认的根据dtd的名字来寻找dtd文件,找不到,则会根据dtd文件的uri寻找文件。

jsp2中标签文件的头文件如下:其中是使用的schema形式而不是dtd文件。


复制代码 代码如下:
<?xml version="0" encoding="UTF-8" ?>
<taglib xmlns="http://javasuncom/xml/ns/j2ee"
xmlns:xsi="http://wwwworg/2001/XMLSchema-instance"
xsi:schemaLocation="http://javasuncom/xml/ns/j2ee http://javasuncom/xml/ns/j2ee/web-jsptaglibrary_2_xsd"
version="0"></taglib>

标签库文件位置

把tld文件放在WebContent目录下或其子目录下。这样的话,web.xml不用配置其位置即可。tomcat直接读取webcontent下的tld文件。
详细出处参考:http://www.jb51.net/article/33788.htm

分享到:
评论

相关推荐

    JSP自定义标签Taglib实现过程重点总结

    **JSP自定义标签Taglib实现过程重点总结** 在Java Server Pages (JSP) 技术中,自定义标签(Taglib)是一个强大的工具,它允许开发者创建可重用的自定义组件,以提高代码的可维护性和可读性。自定义标签库(Taglib...

    jsp自定义简单标签

    ### jsp自定义简单标签:hellotag 在JavaServer Pages (JSP) 技术中,自定义标签是扩展其功能的一种强大方法。通过创建自定义标签,开发者可以封装复杂的逻辑并将其重用到多个页面中,从而提高代码的可读性和可维护...

    JSTL 开发自定义标签使用的jar

    3. **在JSP页面中使用自定义标签**:在JSP页面中,你可以通过`&lt;%@ taglib %&gt;`指令引入自定义标签库,并用`&lt;mytag:tagname&gt;`的形式调用自定义标签。 4. **配置Web应用**:确保web.xml文件中配置了对JSTL的支持,包括...

    完整版Java JSP web开发教程 10_自定义标签(共20页).ppt

    10. **自定义标签**:本章重点,自定义标签允许开发者创建自己的HTML标签,实现特定功能。自定义标签遵循 `&lt;Prefix:TagFileName&gt;` 格式,使用`&lt;%@ taglib&gt;`导入,并通过标签库描述符(TLD)文件定义。 11. **JSP...

    JSP源码——网页中文本框自校验的标签_input.zip

    在IT行业中,JSP(JavaServer Pages)是一种用于创建动态网页的技术,它允许开发者将Java代码...通过学习这个案例,开发者可以深入理解JSP自定义标签的工作原理,并将其应用到自己的项目中,提高开发效率和代码质量。

    jsp标准标签库 教案

    3. 自定义标签库的开发:理解并实现自己的JSP标签库。 通过本章的学习,学生应能熟练掌握JSTL的使用,从而提高JSP应用的开发效率和质量。在实际项目中,合理运用JSTL将极大地提升开发体验和代码质量。

    JSP程序设计教程(第1-9章).rar

    ### 第8章:JSP自定义标签 本章深入研究了如何创建和使用自定义标签,自定义标签是扩展JSP功能的关键。通过自定义标签,开发者可以封装复杂的功能,提高代码的可读性和复用性。 ### 第9章:JSP的高级特性 在最后...

    JSP课件部分重点的,也会死常用的

    JSP自定义标签 通过编写TLD(Tag Library Descriptor)文件和自定义标签类,可以创建符合项目需求的自定义标签库,提高代码复用和模块化。 ### 6. JSP与Servlet的关系 JSP最终会被编译成Servlet,因此它们在本质...

    JSP大学期末考试复习资料

    `taglib`指令引入自定义标签库。 3. **JSP动作**:如`jsp:include`、`jsp:forward`、`jsp:params`、`jsp:useBean`等,它们用于控制页面流程和处理数据。 4. **脚本元素**:包括`&lt;% %&gt;`(Java代码段)、`&lt;%= %&gt;`...

    JSP程序设计教程-电子教案

    理解这些指令有助于优化JSP页面结构,实现页面的复用和自定义标签库的引用。 **第四章:JSP动作** 本章将介绍JSP的动作元素,如jsp:include、jsp:forward、jsp:params等,它们用于控制JSP页面的流程和处理逻辑。...

    JSP两本经典书籍

    4. **JSP指令**:如page、include和taglib指令,用于配置页面属性、包含其他文件或引入自定义标签库。 5. **JSP动作**:如jsp:include、jsp:forward、jsp:param等,用于动态包含资源、转发请求和传递参数。 6. **...

    jsp程序设计ppt

    这一章会深入讲解自定义标签的创建和使用,包括TLD(Tag Library Descriptor)文件的编写以及如何在JSP页面中应用这些标签。 **第4章 JSP内置对象** JSP提供了九个内置对象,如request、response、session、...

    displaytag,pager-taglib 分页包

    7. **扩展性**:Displaytag提供了一套扩展机制,允许开发者自定义标签行为,如添加新的展示格式或处理逻辑。 **Pager-taglib** Pager-taglib是另一个用于分页的JSP标签库,它的主要目标是提供简单易用的分页解决...

    JSP程序设计期末复习总结及模拟试题.pdf

    **JSP程序设计知识点概述** ...在期末复习时,应重点掌握JSP的工作流程、指令和动作标签的使用、内置对象的功能以及如何处理用户输入和响应。同时,模拟试题可以帮助巩固理论知识并提升实际操作技能。

    青鸟JSP机试

    7. JSP自定义标签:如果深入学习,可能会涉及到自定义标签的创建和使用,这有助于提高代码的可读性和复用性。 8. MVC模式:JSP通常与Model2模式(即MVC模式)一起使用,理解控制器(Controller)、视图(View)、...

    JSP2.0技术手册

    自定义标签是JSP 2.0的一个重要特性,它们允许开发者创建可重用的组件,这些组件以XML标签的形式嵌入到JSP页面中。通过定义TLD(Tag Library Descriptor),可以创建具有复杂行为的标签,这些标签在逻辑上独立于页面...

    jsp实用教程(源代码).rar

    指令元素如page指令、include指令和taglib指令,用于配置页面属性、引入其他文件或注册自定义标签库。而动作元素如jsp:include、jsp:forward和jsp:params,则用于执行特定的操作。 其次,JSP中的脚本元素是学习的...

    JSP程序设计教程(PPT)

    3. **JSP指令**:包括`page`、`include`和`taglib`指令,用于设置页面属性、引入其他页面或定义自定义标签库。 4. **JSP动作**:如`&lt;jsp:include&gt;`、`&lt;jsp:forward&gt;`、`&lt;jsp:params&gt;`等,用于在运行时动态地插入...

Global site tag (gtag.js) - Google Analytics