Вы говорите, что JAR появляется в WEB-INF / lib для веб-приложения; Я поверю тебе на слово и верю тебе.
Я бы посоветовал вам открыть struts-taglib.jar
, открыть .tld для библиотеки тегов и убедиться, что значение , которое вы найдете в корне , соответствует uri для данного префикса в вашем JSPs. Я предполагаю, что URI не совпадает, что означает, что загрузчик классов не сможет найти библиотеку тегов, даже если JAR находится в CLASSPATH.
Это также может указывать на то, что изменение версии сделало URI в вашем JAR и JSP не синхронизированным.
Я только что скачал struts-1.3.10-all.zip и посмотрел на Struts-logic.tld, содержащийся внутри. Значение тега <uri>
равно http://struts.apache.org/tags-logic
, так что, похоже, у вас все в порядке.
.tld файлы выглядят так, как будто они извлечены из JAR. Найдите их в. \ Src \ el \ src \ main \ resources \ META-INF \ tld, поместите их в ваш / WEB-INF и явно обращайтесь к ним в своем web.xml. Это должно вас разобраться.
Я не верю, что .tld в web.xml больше необходим, но если мысль URI не удалась, вы можете попробовать добавить что-то похожее на этот пример из "JSTL в действии" в ваш web.xml (модифицированный соответственно):
<taglib>
<taglib-uri>http://java.sun.com/jstl/core</taglib-uri>
<taglib-location>/WEB-INF/c.tld</taglib-location>
</taglib>
Это может быть из-за того, что Struts 1.0 довольно старый на данный момент. Упаковка .tld в JAR taglib стала обычной практикой после разработки Struts 1.0.