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

在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------>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. 报错分析---->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)_自定义标签&JSTL标签(JSP Standard Tag Library)

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

随机推荐

  1. UVa 11100 - The Trip, 2007 难度: 0

    题目 https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&a ...

  2. CentOS 使用yum命令安装出现错误提示”could not retrieve mirrorlist http://mirrorlist.centos.org

    CentOS 使用yum命令安装出现错误提示"could not retrieve mirrorlist http://mirrorlist.centos.org这个错误, 在网上找了好多, ...

  3. win10安装Redis方法以及基本配置

    下载 下载地址点击下载地址,然后选择版本进行下载 下载的文件是一个zip压缩文件,解压后目录结构为: 进行安装 进入命令行模式打开Redis的安装目录 执行:redis-server.exe redi ...

  4. SqlServer查找字段中带空值的项

    select * from  lianxia where sex is null

  5. 翻译1-在SQL Server 2016中介绍微软R服务

    在SQL Server 2016中介绍微软R服务 源自:http://www.sqlservercentral.com/articles/Microsoft/145393/ 作者:tomakatrun ...

  6. php查询快递的类

    <?php/** *  Express.class.php           快递查询类 * * @copyright            widuu * @license          ...

  7. 剑指Offer 55. 链表中环的入口结点 (链表)

    题目描述 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null. 题目地址 https://www.nowcoder.com/practice/253d2c59ec3e4bc68d ...

  8. Ros Kinetic 配置 OpenCV2和CV_bridge (Python, C++)

    本篇介绍如何在Ros-kinetic环境下运用opencv2进行开发的配置,系统平台为64位Ubuntu16.04. 需要系统环境: 1.Ros kinetic版本,一般自带cv_bridge, 若没 ...

  9. jQuery-3.事件篇---表单事件

    jQuery表单事件之blur与focus事件 在之前2.8与2.9节我们学过了表单处理事件focusin事件与focusout事件,同样用于处理表单焦点的事件还有blur与focus事件 它们之间的 ...

  10. iOS - is missing from working copy

    解决方案:1.打开终端2.cd 到警告所提示的文件夹下3.执行命令svn rm --force 丢失文件的名称 丢失的文件太多批量处理:1.打开终端2.sudo find /Users/mac/Des ...