如何将自定义标签封装成一个Jar包
当我们在一个web应用中开发好一些自定义标签的时候,这些自定义标签通常有标签处理器Java类,和一个描述这些标签tld文件,如果我们想在以后别的web工程中还能用上这些标签,可以将这些自定义标签封装在一个JAR包中,正如JSTL标签库一样。
我们现在准备将web应用中开发好的自定义标签封装成jar包,这些自定义标签的两个文件如下图所示:

要想封装成专门的jar包,我们需要另外建一个Java工程,注意是Java工程,不是web工程,这里设置该Java工程名称为“simpletag”,接着在该工程的【src】目录中,将上图中的包和Java文件一起复制进该新建的Java工程,这时候我们会看到复制进去的Java文件都会报错:

报错的原因在于原来在建立标签的时候是在web工程中,使用到了J2EE的API,例如我们使用的简单标签处理器类都要继承SimpleTagSupport类,而这个SimpleTagSupport类是属于JSP的API中的类,是属于J2EE的范畴。而我们普通的Java工程并没有使用到J2EE的库。但是没有关系,因为我们在原来的WEB工程中已经使用验证过了这是没有错误的。
接着我们还必须将TLD文件一起复制到该Java工程中。而这个TLD文件需要现在Java工程中新建一个目录,名称通常为“META-INF”,然后将TLD文件放入:

这样我们就能进行将该工程导出成jar包了,右键点击工程,选择“Export…”,弹出窗口:

这里我们选择“JAR file”即可,接着选择下一步:

“.classpath”和”.project” 两个钩去掉,因为这两个选项的文件我们并不需要,然后选择下要保存该jar包的路径和名称,到这里为止,直接点击“finish”即可完成将自定义标签封装成jar包,在以后的web工程如果有需要用到只需要将该jar包导入,并在JSP页面中导入taglib指令即可使用该jar包中的自定义标签了。
如何将自定义标签封装成一个Jar包的更多相关文章
- 将多个jar包重新打包成一个jar包
我介绍的方法是使用java命令来操作的,所以首先的安装jdk,这个就自己搞定吧. 提取jar包 为了将多个jar包打包成一个jar包,首先要将每个jar包的内容提取出来放到一个文件夹下,具体的操作命令 ...
- 【Maven jar】打包单个或多个文件,有依赖jar包的将架包一起打包成一个jar包供别的项目引用
之前有一片文章,是打包单个java文件的.这次想要将http://www.cnblogs.com/sxdcgaq8080/p/8398780.html 打包成jar包,发现这个java文件中引用了多 ...
- 多个jar包合并成一个jar包(ant)
https://blog.csdn.net/gzl003csdn/article/details/53539133 多个jar包合并成一个jar 使用Apache的Ant是一个基于Java的生成工具. ...
- Maven之多模块打包成一个jar包及assembly
一.多模块打包 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt ...
- 多个jar包合并成一个jar包的办法
步骤: 1.将多个JAR包使用压缩软件打开,并将全包名的类拷贝到一个临时目录地下. 2.cmd命令到该临时目录下,此时会有很多.class文件,其中需要带完整包路径 3.执行 jar -cvfM te ...
- 使用fatjar来实现将包括第三方jar包的项目到处成一个jar包供其它程序使用
一.在线安装fat jar 在线安装步骤: eclipse菜单条 help >software updates >Search for new features to install> ...
- IDEA如何把写好的java文件/项目打包成一个jar的文件
一.命令行的方法 打开cmd,输入jar -cvf [打包后的文件名].jar [要打包的目录]. 二.IDEA的方法 写完一个java程序把它封装成一个jar的包 这样就可以在别的jar上面运行这 ...
- SpringMVC 中,当前台传入多个参数时,可将参数封装成一个bean类
在实际业务场景中,当前台通过 url 向后台传送多个参数时,可以将参数封装成一个bean类,在bean类中对各个参数进行非空,默认值等的设置. 前台 url ,想后台传送两个参数,userName 和 ...
- Maven将代码及依赖打成一个Jar包的方式
Maven可以使用mvn package指令对项目进行打包,如果使用java -jar xxx.jar执行运行jar文件,会出现"no main manifest attribute, in ...
随机推荐
- BZOJ 1858: [Scoi2010]序列操作( 线段树 )
略恶心的线段树...不过只要弄清楚了AC应该不难.... ---------------------------------------------------------------- #inclu ...
- UASCO Zero Sum DFS + Stack
给一个N 表示1 2 3 ...N 求出所有 zero sum的情况 [简单Dfs 即可] 运算结果的时候我使用了一个stack... 比如N = 7 那么要求输出 1+2-3+4-5-6+7 1+2 ...
- 计算机中丢失MSVCP110.dll
1.安装Microsoft visual c++ 2.下载MSVCP110.dll复制到C:\system32 3.使用DirectX修复工具
- paip.输入法编程---输入法ATIaN历史记录 c823
paip.输入法编程---输入法ATIaN历史记录 c823 作者Attilax , EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csd ...
- Search a 2D Matrix【python】
class Solution: # @param matrix, a list of lists of integers # @param target, an integer # @return a ...
- 网页制作之JavaScript部分 2 - DOM操作
1.DOM的基本概念 htmlDOM是一种面向对象的树的模型,它包含html中的所有元素:通过html可以找到所有包含在dom中的元素. DOM是文档对象模型,这种模型为树模型:文档是指标签文档:对 ...
- IOS常用设计模式之委托模式
对于iOS开发,举例Cocoa框架下的几个设计模式为大家分析.当然,Cocoa框架下关于设计模式的内容远远不止这些,我们选择了常用的几种:单例模式.委托模式.观察者模式.MVC模式. 委托模式 委托模 ...
- WPF4多点触摸事件
原文 WPF4多点触摸事件 UIElement在WPF4下添加了很多支持多点触摸的事件,通过它们可以在硬件支持的情况下处理多点触摸,以下通过代码来说明通过处理这些事件,我们可以做些什么: 一.触摸相关 ...
- Mysql主从配置+读写分离(转)
MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. 注:安装前须查看是否已经安装了 ...
- php 使用curl发起https请求
今天一个同事反映,使用curl发起https请求的时候报错:“SSL certificate problem, verify that the CA cert is OK. Details: erro ...