今天安装的struts1.3,但是缺少tld文件,所以无法使用taglib,找了半天
假设你的struts版本为1.3.10
解压后的目录为F:struts-1.3.10-allstruts-1.3.10[apps,docs,lib,src,LICENSE.txt,NOTICE.txt]
那么你找到F:struts-1.3.10-allstruts-1.3.10libstruts-taglib-1.3.10.jarMETA-INF ld
把其中的tld文件拷贝出来,放到你的/webcontent/WEB-INF/目录下即可,注意还要配置好web.xml
实际上不是因为这个问题,tld文件就等他放在struts-taglib-1.3.10.jar中,不用放到WEB-INF目录下也是没有问题的。不过在我对目录的理解还是有问题
第一点,我的web项目的路径是
<Context path="/foo" docBase="E:web.workspacefoo1WebContent" reloadable="true"/>
那么struts-taglib-1.3.10.jar就放在%docBase%WEB-INFlib中,所有的tld文件也在这个jar包里面,这样就可以用了!并不需要再手动把tld文件解压出来放到%docBase%WEB-INF中!如果你不知道taglib的uri应该怎么写,那么就找到struts-taglib-1.3.10.jar中的tld文件看一看里面的tld文件中怎么写的uri!
第二点,关于%docBase%WEB-INFlib和%docBase%WEB-INFclasses,这两个从功能上来说大体是一致的:存放你的web-project运行所需的class文件和tld文件以及.properties文件。也就是说,Tomcat会到这两个目录下寻找所需的class和tld文件以及.properties文件