在jsp文件中,可以引用tag和tld文件。

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

其实这里直接引tag文件就像include一个jsp文件,可以写java代码,可以写html标签,可以写js,用el标签直接对应属性名${属性名}


 
2.对于tld文件(这个可以自定义两种,不过都是通过Class类扩展的,可以定义的两种为function和tag,function是el表达式${}扩展的,tag是跟上面一样<xxx:xxx>这种格式)

2.1基于tld的自定义fucntion 参考 jsp tld的function 自定义方法扩展

2.2基于tld自定义的tag java代码端参考 jsp tld 的tag 自定义标签扩展

在jsp中可以引用TLD文件,引用的查找方式:
1.直接指向一个文件,当然就不用照抄了
2.直接指向一串url(其实就是找jar下面的web-inf)
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
但是这个http://java.sun.com/jsp/jstl/core对应着什么呢?
jsp会在当前目录的\WEB-INF下找所有tld文件
当找到某一个.tld文件时,发现tld中的

  1. <description>JSTL 1.1 core library</description>
  2. <display-name>JSTL core</display-name>
  3. <tlib-version>1.1</tlib-version>
  4. <short-name>c</short-name>
  5. <uri>http://java.sun.com/jsp/jstl/core</uri>


其中的uri与这个引入URL对应,则引用的就是这个tld。
但使用<html:YYYYY>时,这个TLD文件中必然有个YYYY项与之对应。



以上在打包jar的META-INF木木的查找方式是一样的

 
还有一种更保险的方法是,在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
 
ps:tag和tld文件最好放在(WAR包)WEB-INF或者(jar包)META-INF根目录或子目录下,最好以tags或者tlds文件名命名,至于不放在以上目录没测试过
关于在打包jar的时候怎么放进META-INF目录而且不被自动build的覆盖
1.解压jar手动丢进去
2.maven配置待续


tag文件作用一般是一段小代码,类似include文件的作用。(直接的一个tag文件,直接当成引一个jsp就可以了,只是开头多了一些属性定义和动态获取属性的特性 )
tld文件(自定义function和自定义tag java端)作用比较复杂,可以实现很多高级的作用。

jsp中 自定义 tag的几种方式的更多相关文章

  1. jsp中头的导入两种方式区别

    1.<jsp:include page="top.jsp">先将top.jsp中的java脚本和jsp指令执行完毕以后再讲top.jsp页面加入面中 2.<%@ ...

  2. JSP中的TAG

    http://blog.csdn.net/hongweigg/article/details/12006849 JSP标签有两种实现方法,一种是使用tag 文件,一种是使用tld文件. 1.使用tag ...

  3. JavaScript学习12 JS中定义对象的几种方式

    JavaScript学习12 JS中定义对象的几种方式 JavaScript中没有类的概念,只有对象. 在JavaScript中定义对象可以采用以下几种方式: 1.基于已有对象扩充其属性和方法 2.工 ...

  4. android中解析文件的三种方式

    android中解析文件的三种方式     好久没有动手写点东西了,最近在研究android的相关技术,现在就android中解析文件的三种方式做以下总结.其主要有:SAX(Simple API fo ...

  5. jQuery中开发插件的两种方式

    jQuery中开发插件的两种方式(附Demo) 做web开发的基本上都会用到jQuery,jQuery插件开发两种方式:一种是类扩展的方式开发插件,jQuery添加新的全局函数(jQuery的全局函数 ...

  6. iOS 自定义layer的两种方式

    在iOS中,你能看得见摸得着的东西基本都是UIView,比如一个按钮,一个标签,一个文本输入框,这些都是UIView: 其实UIView之所以能显示在屏幕上,完全是因为它内部的一个图层 在创建UIVi ...

  7. Struts中的数据处理的三种方式

    Struts中的数据处理的三种方式: public class DataAction extends ActionSupport{ @Override public String execute() ...

  8. (六)javascriptJS中定义对象的几种方式(转)

    JavaScript学习12 JS中定义对象的几种方式 转自:  http://www.cnblogs.com/mengdd/p/3697255.html JavaScript中没有类的概念,只有对象 ...

  9. EntityFramework Core 2.0自定义标量函数两种方式

    前言 上一节我们讲完原始查询如何防止SQL注入问题同时并提供了几种方式.本节我们继续来讲讲EF Core 2.0中的新特性自定义标量函数. 自定义标量函数两种方式 在EF Core 2.0中我们可以将 ...

随机推荐

  1. attribute用法

    attribute 用法 摘要: 在学习linux内核代码及一些开源软件的源码(如:DirectFB),经常可以看到有关__attribute__的相关使用.本文结合自己的学习经历,较为详细的介绍了_ ...

  2. 一些关于VC++开发的笔记

    通常程序卡住了,主要有双方面的可能: (1)死循环了 (2)死锁了 要确定是否是死循环.能够通过调试器(经常使用Windbg)查看线程执行时间,假设隔了一段会儿两次查看的执行时间有非常大区别,那么非常 ...

  3. vim文本编辑工具—修改文件内容

    在vim中进行文本替换: 1.替换当前行中的from: :s/from/to/    (其中s是英文单词substitute第一个字母,表示替换的意思) :s/from/to/  ==  :.s/fr ...

  4. 取url中的参数值

    string url = "https://i.cnblogs.com/EditPosts.aspx?opt=1";//key不区分大小string key="opt&q ...

  5. Cocos2d-x3.0游戏实例之《别救我》第七篇——物理世界的碰撞检測

    事实上我也非常吃惊-居然写到第七篇了,我估计也就是四篇的内容,感觉非常奇妙,我也不会非常唠叨什么吖);    // 0001 );   // 0001 ); // 0001 这样我们才干监听到它们的碰 ...

  6. mysql多实例介绍及配置

    mysql多实例介绍及配置 1.mysql多实例介绍 1.1 什么是mysql多实例 mysql多实例就是在一台机器上开启多个不同的服务端口(如:3306,3307),运行多个MySQL服务进程,通过 ...

  7. mybatis多参数查询

    第三种比较好点 http://www.2cto.com/database/201409/338155.html

  8. [Android Pro] Notification的使用

    Android 4.0以前: 1: 普通的notification private static final int NOTIFY_ID = 0; notificationManager = (Not ...

  9. windows 下apache 以fastcgi形式执行php

    以xampp为例解说,过程例如以下: 1:下载相应的mod_fastcgi .下载參考站点:http://www.apachelounge.com/download/VC11/ 2:拷贝mod_fas ...

  10. arcgis的mxd数据源检查,和自动保存为相对路径

    arcgis的mxd数据源(含矢量和影像)检查,和,检查是否为相对路径,自动保存为相对路径 ArcGIS10.0和ArcGIS10.2.2测试通过 下载地址:http://files.cnblogs. ...