-----------------------------------------------------------------------

在jsp文件中,可以引用tag和tld文件。 
1.对于tag文件 
<%@ taglib prefix="ui" tagdir="/WEB-INF/tags" %> 
其中的tags是个目录,里面有若干tag文件。 
但使用<ti:XXXX>时,目录WEB-INF/tags下,必然有个XXXX.tag文件与之对应。

2.对于tld文件 
在jsp中可以引用TLD文件,如 
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%> 
但是这个http://struts.apache.org/tags-html对应着什么呢? 
jsp会在当前目录的\WEB-INF下找所有tld文件,确认这个URL对应哪个TLD文件。 
当找到struts-html.tld文件时,发现其中的内与这个URL对应。 
但使用<html:YYYYY>时,这个TLD文件中必然有个YYYY项与之对应。

还有一种更保险的方法是,在WEB-INF/web.xml中加上 
<taglib> 
    <taglib-uri> 
http://jakarta.apache.org/tomcat/examples-taglib 
    </taglib-uri> 
    <taglib-location> 
       /WEB-INF/jsp/example-taglib.tld 
    </taglib-location> 
</taglib> 
这样表示http://jakarta.apache.org/tomcat/examples-taglib对应着/WEB-INF/jsp/example-taglib.tld

tag文件作用一般是一段小代码,类似include文件的作用。 
tld文件作用比较复杂,可以实现很多高级的作用。

---------------------------------------------------------------------------------------------------------------

1). 可以使用 tag 文件的方式来定义自定义标签. 先前使用过标签处理器类(SimpleTagSupport)来定义自定义标签. 
2). 不能直接访问这个 Tag 文件
3). tag 文件是扩展名必须为 tag
4). tag 文件的结构几乎和 JSP 文件相同: 
一个 Tag 文件中可以有普通的 HTML 标记符、某些特殊的指令标记、 成员变量和方法的声明、Java 程序片段和 Java 表达式
实际上 tag 文件就是一个 SimpleTagSupport. 所以可以访问 SimpleTagSupport 的所有方法. 但通常情况下, 不需要访问. 
5). tag文件只能放在如下位置:
①*. WEB-INF/tags
②*. WEB-INF/tags 的子目录
③. WEB-INF/lib 中 jar 包的 META-INF/tags
④. WEB-INF/lib 中 jar 包的 META-INF/tags 下的子目录
⑤. jar 包中的 tag 文件需要 tld
6). 使用 <taglib> 指令标记引入自定义标签库. 
<taglib>指令的格式如下: <%@ taglib tagdir="自定义标记库的位置" prefix="前缀">
7). 若 JSP 页面调用一个 tag 文件时需要动态地向该 tag 文件传递信息, 则需要使用带有标记体的标签, tag 文件通过使用 <jsp:doBody /> 
标签处理 JSP 页面传递过来的标签体

-------------------------------------------------------------------------------------------------------------

使用 tag 文件定义自定义标签的更多相关文章

  1. Servlet------&gt;jsp自定义标签5(标签体内容改为大写)

    5.把标签体内容改为大写(tld中的配置我就省略了,详细请看jsp自定义标签1) import java.io.IOException; import javax.servlet.jsp.JspExc ...

  2. 自定义标签 与 JSTL(JSP Standard Tag Library)

    1.自定义标签 [理解]     [1]简介            > 在JSP2.0以后,在jsp页面中不建议使用脚本片段<% %>和JSP表达式<%= %>     ...

  3. Java Spring Boot VS .NetCore (十一)自定义标签 Java Tag Freemarker VS .NetCore Tag TagHelper

    Java Spring Boot VS .NetCore (一)来一个简单的 Hello World Java Spring Boot VS .NetCore (二)实现一个过滤器Filter Jav ...

  4. django之模板系统 --》内容(filter过滤器、tags标签【for、if、with】、母板以及继承、crf_token、注释、组件、静态文件【load static】、get_static_prefix、自定义标签和tag)

    常用: Django模板中只需要记两种特殊符号: {{ }}和 {% %} {{ }}表示变量,在模板渲染的时候替换成值,{% %}表示逻辑相关的操作. 变量 {{ 变量名 }} 变量名由字母数字和下 ...

  5. java:tag 自定义标签应用

    一,tag类 1.1 TagMy标签类,格式化当前日期并输出 package com.dkt.tag; import java.io.IOException; import java.text.Sim ...

  6. 报错分析----&gt;jsp自定义标签:Unable to load tag handler class

    Unable to load tag handler class 无法加载标签处理程序类 处理自定义标签的类中如下: 调用自定义标签的jsp中如下:

  7. 自定义标签报 无法为TAG [my2:hello]加载标记处理程序类[null]

    今天练习jsp自定义标签的时候,等我写好全部和检查万无一失的时候.执行然后报错了 无法为TAG [my2:hello]加载标记处理程序类[null] 我反复检查代码,发现代码也没什么问题.后面通过百度 ...

  8. JSP自定义tag控件标签

    JSP支持自定tag的方法,那就是直接讲JSP代码保存成*.tag或者*.tagx的标签定义文件.tag和tagx文件不仅支持经典jsp代码,各种标签模版代码,还支持xml样式的jsp指令代码. 按照 ...

  9. javaEE(7)_自定义标签&amp;JSTL标签(JSP Standard Tag Library)

    一.自定义标签简介 1.自定义标签主要用于移除Jsp页面中的java代码,jsp禁止出现一行java脚本. 2.使用自定义标签移除jsp页面中的java代码,只需要完成以下两个步骤: •编写一个实现T ...

随机推荐

  1. winform 使用 ReportViewer做报表

    之前用过的水晶报表觉得有些麻烦,因此尝试了使用微软自带的报表. 第一种方法是 在winform界面上放置ReportViewer界面,相关的代码如下: public DataTable dt; pri ...

  2. jQuery学习笔记---兄弟元素、子元素和父元素的获取

    我们这里主要总结jQuery中对某元素的兄弟元素.子元素和父元素的获取,原声的Javascript代码对这些元素的获取比较麻烦一些,而jQuery正好对这些方法进行封装,让我们更加方便的对这些元素进行 ...

  3. Nodejs开发框架Express3.0开发手记–从零开始

    转载请注明出处: http://blog.fens.me/nodejs-express3/ 程序代码已经上传到github有需要的同学,自行下载. https://github.com/bsspiri ...

  4. 内存对齐-C语言struct内存占用问题

    转1个写的比较全面的. http://hubingforever.blog.163.com/blog/static/17104057920122256134681/ 本文编辑整理自:http://hi ...

  5. Python3.X与urllib

    在Python3.X中使用urllib时,不能像Python2.X一样直接使用: import urllib response = urllib.urlopen("http://www.ba ...

  6. #include&lt; &gt;和#include""的区别

    Answer 1:#include 会将指定文件的内容插入到源程序文件中.当使用的格式时,编译器会从环境变量INCLUDE所指定的路径中寻找file-name 文件,如果没有定义INCLUDE,C 编 ...

  7. Java 处理json经常使用代码

    本project代码已上传至资源,如有须要,请自行下载. package com.michael; import static org.junit.Assert.assertEquals; impor ...

  8. C陷阱与缺陷(一)

    第一章 词法陷阱 术语“符号”指的是程序的一个基本组成单元,其作用相当于一个句子中的单词.编译器中负责将程序分解为一个一个符号的部分,一般称为“词法分析器”. 1.1 =不同于== 一般容易将比较运算 ...

  9. Activity进程和线程之间的关系

    1,四大组件并不是程序(进程)的全部,只是他的零件. 2,应用程序启动后,将创建ActivityThread主线程. 3,同一包中的组件将运行在想通的进程空间里面. 4,不同包中的组件可以通过一定的方 ...

  10. oracle查询第一篇

    第一个小知识点: clear 在oracle中也可以用以清除屏幕上的内容 第二个小知识点: 在一个表中插入自身的查询结果 insert into my_table (id,name,age) sele ...