创建自己的taglib 并打包入jar

简介: 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&lt

1. Create a TLD (tag library descriptor) file namedmy-tags.tldFor 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


目录
相关文章
|
25天前
|
Java 应用服务中间件 Maven
Maven的三种项目打包方式——pom,jar,war的区别
Maven 提供了多种打包方式,分别适用于不同类型的项目。pom 用于父项目或聚合项目,便于项目的结构和依赖管理;jar 用于Java类库或可执行的Java应用程序;war 则专用于Java Web应用程序的部署。理解这些打包方式的用途和特点,可以帮助开发者更好地配置和管理Maven项目,确保构建和部署过程的顺利进行。无论是单模块项目还是多模块项目,选择合适的打包方式对于项目的成功至关重要。
65 3
|
4月前
|
Java Maven 容器
Maven使用IDEA自带工具打包,同时将lib下的jar包打入,双击jar包可直接运行
使用IntelliJ IDEA的Artifacts功能,可以将项目依赖的第三方jar包打包进jar文件中,实现双击jar包即可直接运行。
Maven使用IDEA自带工具打包,同时将lib下的jar包打入,双击jar包可直接运行
|
4月前
|
Java Maven
构建Springboot项目、实现简单的输出功能、将项目打包成可以执行的JAR包(详细图解过程)
这篇文章详细介绍了构建SpringBoot项目的过程,包括新建工程、选择环境配置、添加依赖、项目结构说明,并演示了如何编写一个简单的Controller控制器实现输出功能,最后讲解了如何使用Maven将项目打包成可执行的JAR包,并提供了运行JAR包的命令和测试效果。
构建Springboot项目、实现简单的输出功能、将项目打包成可以执行的JAR包(详细图解过程)
|
6月前
|
XML 运维 Java
Spring运维之boot项目打包jar和插件运行并且设置启动时临时属性和自定义配置文件
Spring运维之boot项目打包jar和插件运行并且设置启动时临时属性和自定义配置文件
57 1
|
6月前
|
Java Maven
Maven项目打包成jar项目后运行报错误: 找不到或无法加载主类 Main.Main 和 jar中没有主清单属性解决方案
Maven项目打包成jar项目后运行报错误: 找不到或无法加载主类 Main.Main 和 jar中没有主清单属性解决方案
999 0
|
6月前
|
缓存 Java Maven
IDEA如何把MAVEN项目打包成jar包并且用命令行启动
IDEA如何把MAVEN项目打包成jar包并且用命令行启动
84 0
|
7月前
|
Java 关系型数据库 Docker
docker打包部署spring boot应用(mysql+jar+Nginx)
docker打包部署spring boot应用(mysql+jar+Nginx)
|
7月前
|
JavaScript 前端开发 Java
java项目的打包将vue放到.jar里面部署
java项目的打包将vue放到.jar里面部署
|
7月前
|
Java Maven Spring
maven打包插件maven-jar-plugin与spring-boot-maven-plugin
该内容介绍了两个Maven打包插件:`spring-boot-maven-plugin`和`maven-jar-plugin`。`spring-boot-maven-plugin`是Spring Boot项目的默认打包工具,它会包含项目类文件、资源和依赖的jar,但不会解编译依赖。而`maven-jar-plugin`则用于创建普通JAR包,不包含依赖。文中还展示了两个插件打包后的效果差异,并强调了持续练习以掌握这些技能的重要性。
270 0
|
7月前
|
Java Android开发
Android module 打包成aar或jar
Android module 打包成aar或jar
264 0

热门文章

最新文章