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. iOS多线程:『GCD』详尽总结 ---(转)

    文章:https://bujige.net/blog/iOS-Complete-learning-GCD.html 文中 Demo 我已放在了 Github 上,Demo 链接:https://git ...

  2. LOJ#2131. 「NOI2015」寿司晚宴

    $n \leq 500$,$2-n$这些数字,两个人挑,可以重复挑,问有几种方案中,一个人选的所有数字与另一个人选的所有数字都互质. 不像前两题那么抠脚.. 如果$n$比较小的话,可以把两个人选的数字 ...

  3. 十步完全理解 SQL(转载)

    1 SQL是一种声明式语言 SQL 语言是为计算机声明了一个你想从原始数据中获得什么样的结果的一个范例,而不是告诉计算机如何能够得到结果.学好SQL要改变传统函数式编程思想,例如用变量传参.使用循环语 ...

  4. PE笔记之NT头PE签名

    typedef struct _IMAGE_NT_HEADERS {       DWORD Signature;                     //PE头签名PE\0\0       IM ...

  5. Python学习杂记_6_字典常用操作

    字典操作 字典是由一对花括号括起来的一组“键值对”,每个键值对就是字典的一个元素,元素在字典中是无序的,常见操作如下: info = { 'name':'xiaoming', 'sex':'nan', ...

  6. LeetCode OJ-- Palindrome Partitioning II ***

    https://oj.leetcode.com/problems/palindrome-partitioning-ii/ 给定一个串,让把它划分成子串,要求每个子串都是回文的. 动态规划: 设数组 a ...

  7. 洛谷——1508 Likecloud-吃、吃、吃

    题目背景 问世间,青春期为何物? 答曰:“甲亢,甲亢,再甲亢:挨饿,挨饿,再挨饿!” 题目描述 正处在某一特定时期之中的李大水牛由于消化系统比较发达,最近一直处在饥饿的状态中.某日上课,正当他饿得头昏 ...

  8. getenv, _wgetenv

    Description The C library function char *getenv(const char *name) searches for the environment strin ...

  9. 解决官网下载jdk只有5k大小的错误

    问题现象 官网 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 我选择linu ...

  10. nginx 配置静态目录 访问bootstrap

    location /static/ { alias /Users/wangziqiang/djangoprojects/bpmTest/static/; } 注意  /static/   中 /的完整 ...