1. Create a TLD (tag library descriptor) file namedmy-tags.tld. For
more information, see Creating
a Tag Library Descriptor
.

例如:

<taglib>
<display-name>Raptor JSP Taglib</display-name>
<tlib-version>1.0</tlib-version>
<jspversion>2.0</jspversion>
<short-name>r</short-name>
<uri>http://ebay.com/raptor</uri>
<tag>
<name>deferredFragment</name>
<tagclass>com.ebay.raptor.fragment.jsp.DeferredFragmentTag</tagclass>
<body-content>scriptless</body-content>
<!--dynamic-attributes>true</dynamic-attributes-->
<attribute>
<name>afterRender</name>
<type>String</type>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>beforeRender</name>
<type>String</type>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>dependency</name>
<type>Object</type>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>fragmentDependencies</name>
<type>String</type>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>delay</name>
<type>int</type>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>timeoutFragment</name>
<type>String</type>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>timeoutURL</name>
<type>String</type>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>id</name>
<type>String</type>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>inline</name>
<type>boolean</type>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>outerElement</name>
<type>String</type>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>style</name>
<type>String</type>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>styleClass</name>
<type>String</type>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>

2. Create a directory containing the compiled Java tag handler class files used in your tag library.

3. Create
a sub-directory of the directory you created in step 2 and call it META-INF.

注意my-tag.tld必须放在META-INF里,这也是web container回去search tld文件的位置

4. Copy the my-tags.tld file
you created in step
1
 into the META-INF directory
you created in step
3

5. Archive your compiled Java class files into a jar file

6.Copy the jar file
into the WEB-INF/lib directory of the Web application that uses your tag library.

有些文档说需要在web.xml 中提供对tag library 的引用才可以在JSP中使用,如下:

<taglib>
  <taglib-uri>myjar.tld</taglib-uri>
  <taglib-location>
     /WEB-INF/lib/myTagLibrary.jar
  </taglib-location>
</taglib>

但实际情况是,至少在Tomcat 和 Geronimo 服务器中,不需要上面的配置,服务器可以自己找到Jar里的tld文件,可能不同的服务器其实现不一样吧。

7.Reference the tag library
in your JSP. For example:

<%@ taglib prefix="r" uri="http://ebay.com/raptor"%>

<r:includeRaptorJS />

参考:

http://docs.oracle.com/cd/E15051_01/wls/docs103/taglib/admin.html#wp364493

http://www.ibm.com/developerworks/cn/java/j-jsp07233/index.html

版权声明:本文为博主原创文章,未经博主允许不得转载。

创建自己的taglib 并打包入jar的更多相关文章

  1. maven创建的quickstart项目生成可执行jar

    maven创建的quickstart项目在打包成jar后,通过Java -jar 文件名.jar 会提示没有主清单属性. 为了生成可执行的jar,需要添加maven插件 maven-shade-plu ...

  2. (3)Maven快速入门_3在Eclipse中创建Maven项目打包成jar

    Eclipse中创建Maven项目 new ---> maven project  ----> next 如下 普通java项目 选择  如下 quickstart 创建项目 : 输入 G ...

  3. [Java] Java 打包成jar包 和 解压jar包

    解压jar包 jar xf xxx.jar 打包成jar包 方法一:通过jar命令 jar命令的用法: 下面是jar命令的帮助说明: 用法:jar {ctxui}[vfm0Me] [jar-file] ...

  4. Java程序打包成jar包

    方法一:通过jar命令 jar命令的用法: 下面是jar命令的帮助说明: 用法:jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] ...

  5. java打包成jar文件

    JAR包是Java中所特有一种压缩文档,其实大家就可以把它理解为.zip包.当然也是有区别的,JAR包中有一个META-INF\MANIFEST.MF文件,当你找成JAR包时,它会自动生成.JAR包是 ...

  6. windows10计划任务启动bat执行jar打包的jar文件

    今天公司要用bat文件执行jar打包的java文件,运行没项目的程序,并且用任务计划开机自启,今天记录下坑 系统:win10 一.编写.bat执行用jar打包的jar文件 @echo off java ...

  7. 在JAR中打包使用JAR库

    不知大家在写Java程序的时候有没有这种需求: 将引用其他第三方JAR库的项目打包成一个JAR文件执行.也就是说在你打包好的JAR文件里再包括那些你引用的第三方JAR文件,合成一个JAR包,这样仅仅需 ...

  8. java代码打包成jar以及转换为exe

    教你如何把java代码打包成jar文件以及转换为exe可执行文件 1.背景: 学习java时,教材中关于如题问题,只有一小节说明,而且要自己写麻烦的配置文件,最终结果却只能转换为jar文件.实在是心有 ...

  9. 手把手教你如何把java代码,打包成jar文件以及转换为exe可执行文件

    1.背景: 学习java时,教材中关于如题问题,只有一小节说明,而且要自己写麻烦的配置文件,最终结果却只能转换为jar文件.实在是心有不爽.此篇博客教你如何方便快捷地把java代码,打包成jar文件以 ...

随机推荐

  1. HTML 上标和下标

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  2. pat 团体天梯 L1-046. 整除光棍

    L1-046. 整除光棍 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 翁恺 这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1 ...

  3. 全球主要城市经纬度api

    原文发布时间为:2011-06-23 -- 来源于本人的百度文章 [由搬家工具导入] http://www.google.com/ig/cities?country=cn http://www.goo ...

  4. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---55

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  5. [SaltStack] Return日志入库审计

    SaltStack日志return审计 在我们执行salt任务时, 默认日志是屏幕打印的, 对于我们审计任务运行情况带来很不方便, 因此我们对日志结果进行了二次开发, 将job日志处理后入库, 方便查 ...

  6. java 基于tcp客户端服务端发送接收数据

    客户端: package demo03; import java.io.IOException; import java.io.InputStream; import java.io.OutputSt ...

  7. 2016百度之星资格赛 Round1(2,3,4题)

    Problem B Accepts: 2515 Submissions: 9216 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536 ...

  8. AC日记——宠物收养所 bzoj 1208

    1208 思路: 一棵splay树: 如果来者是宠物且树空,就将其加入树中: 如果树不空,则查找前驱后继,取最优,然后删点: 对人亦然: 注意边界和取模,最后的ans用long long其余用int即 ...

  9. 2018年东北农业大学春季校赛 K wyh的数列【数论/斐波那契数列大数取模/循环节】

    链接:https://www.nowcoder.com/acm/contest/93/K来源:牛客网 题目描述 wyh学长特别喜欢斐波那契数列,F(0)=0,F(1)=1,F(n)=F(n-1)+F( ...

  10. P1243~P1247 线段树模板题总结

    前言 这几天刚刚刷了5道线段树(水)题,现在来总结一下. 首先是犯的不少错误: 1.建树.更新函数没有return.这是最气的,每次最后程序错误查了半天也没查出来,最后发现是没有return.递归边界 ...