tld设置uri

本文探讨了自定义JSP标签在不同部署环境下的问题及解决方案,包括使用非网址形式URI、绝对路径引用TLD文件及将TLD文件放置于META-INF目录中的方法。
  今天遇到这样一个问题,使用JAVA做了个WEB应用,其中用到一个自定义标签。该标签的class文件与tld(tld文件中,uri定义为:http://wallimn.iteye.com/myfuncs)文件放在一起,
  jsp页面中的引用方式为:
  <%@ taglib prefix="wlm" uri="http://wallimn.iteye.com/myfuncs" %>
  开始一直直接使用class文件,没有打jar包,运行的时候没有任何问题。

  后来把应用部署到internet上,发现使用该标签的页面全部不能正常显示,我通过把两处的uri定义修改成非网址形式(wallimn:functions)把问题解决了,不过我没有搞清楚原因。希望读到此文的达人能指点一下。

  再后来,我把所有的class文件,打成jar包,以jar的形式部署到WEB应用中,又出现了新的问题,原来能找到的tld文件找不到了。通过以绝对地址方式引用标签解决了这个问题。
  即:
  <%@ taglib prefix="wlm" uri="/WEB-INF/myfuncts.tld" %>
  当然,要把myfuncts.tld放在对应的位置。

  jar包与tld文件分开,不利于程序的部署、jar包重用。如何能把tld文件与class文件一起打到jar包中、且能正常运行呢?

  分析了一下displaytag-1.2.jar的文件结构,发现它的tld文件是放在jar包中的META-INF目录中的。我打包时,也把tld文件放到META-INF目录中,测试运行,OK。

/***********本人原创,欢迎转载,转载请保留本人信息*************/
作者:wallimn 电邮:wallimn@sohu.com 时间:2009-12-12
博客:http://wallimn.iteye.com
网络硬盘:http://wallimn.ys168.com
/***********文章发表请与本人联系,作者保留所有权利*************/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值