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

第一步:创建标签文件 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值