将标签文件打包为jar包提供给jsp使用

来源:互联网 发布:三维设计软件手机版 编辑:程序博客网 时间:2024/06/04 19:47

第一步:创建标签文件 menu.tag,而且必须放在/META-INF/tags文件夹中

<%@ tag body-content="tagdependent" %><%@ attribute name="menutext" rtexprvalue="true"%><h1>This is my tag file</h1><jsp:doBody/>

创建之后,就可以在web项目的jsp中使用此标签文件了

<%@ taglib prefix="easy" tagdir="/WEB-INF/tags" %><easy:menu/>

第二步:将标签文件打包为jar文件,提供给其他人使用

使用java项目打包

新建一个java项目,项目结构如下图

现将tags文件夹从web项目中复制到java项目中


使用未打包在jar中的标签文件非常方便,因为它不需要标签库描述符文件(tld)。 但是当打包在jar中时,需要一个tld文件,但这个tld文件与常规tld不同,其不是将标签与处理程序相匹配,而是将标签文件的名称与其路径匹配,因此它使用新的<tag-file>元素而不是标准taglib tld的<tag>元素。

创建名称为menu.tld并放在META-INF目录中

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"                           "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd"><taglib>    <tlibversion>1.0</tlibversion>    <jspversion>1.1</jspversion>    <shortname>tagfilelib</shortname>        <uri>example.com/tagfilelib</uri>    <tag-file>        <name>menu</name>        <path>/META-INF/tags/menu.tag</path>    </tag-file></taglib>

准备好这两个文件,就能进行将该工程导出成jar包了,右键点击工程,选择“Export…”,弹出窗口:


下一步

“.classpath”和”.project” 两个钩去掉,因为这两个选项的文件我们并不需要,然后选择下要保存该jar包的路径和名称,到这里为止,直接点击“finish”即可完成将自定义标签封装成jar包,在以后的web工程如果有需要用到只需要将该jar包导入,并在JSP页面中导入taglib指令即可使用该jar包中的自定义标签了

Jsp页面使用

<%@ taglib prefix="easy" uri="example.com/tagfilelib" %><html><head><title>Demonstration of Tag Files</title></head><body><h1> What is going down? </h1><easy:menu/></body></html>
参考:Tag Files wrapped in a Jar

阅读全文
0 0