使用ant jar命令打包标签tld

项目自定义了一些JSP标签,想做成jar包引用就好,设计了tld标签的处理,想跟struts2一样,把标签放入jar包引用。
引用

一:如果web容器是J2EE1.3(servlet2.3)及以前的规范,由于不会自动加载struts的标签库,所以需要在web.xml文件中手动加载struts的标签库,文件名struts-tags.tld,一般放在WEB-INF下面,可以自己指定。

在web.xml中配置的加载标签定义文件如下:
  <!-- 手动配置Struts 2的标签库 -->
  <taglib>
  <!-- 配置Struts 2标签库的URI jsp文件中应用的uri,类似于名字空间-->
  <taglib-uri>/s</taglib-uri>
  <!-- 指定Struts 2标签库定义文件的物理位置 -->
  <taglib-location>/WEB-INF/struts-tags.tld</taglib-location>
  </taglib>

二:jar包与tld文件分开,不利于程序的部署,jar包重用。
如果web容器是J2EE1.4(servlet2.4),那么web容器会自动加载标签库,Struts 2的标签库定义文件包含在struts2-core-2.0.6.jar文件里,在struts2-core-2.0.6.jar文件的META-INF路径下,包含了一个struts-tag.tld文件,  这个文件就是Struts 2的标签库定义文件,Servlet 2.4规范会自动加载该标签库文件。
打包时,把tld文件放到META-INF目录中,就可以了。



ant 语法
<target name="package-jar" depends="clean,prepare,compile" description="Package JAR">
		<jar destfile="${dist}/${fkframe.jar}.jar">
			<manifest>
				<attribute name="Class-Path" value="${fkframe.jar}.jar" />
				<attribute name="Implementation-Title" value="fkframe"/>
				<attribute name="Implementation-Version" value="1.0"/>
			</manifest>
			<fileset dir="${build.classes}" />
	<metainf dir="${web}/WEB-INF/tlds">  
                <include name="sigma.tld"/>
                <include name="right.tld"/>
            </metainf>  	
		</jar>
	</target>


最后页面引用
<%@ taglib prefix="fktag" uri="/fk-tags" %>
<%@ taglib prefix="sg" uri="/sigmaGrid-tags" %>

猜你喜欢

转载自aguu125.iteye.com/blog/1626671
今日推荐