Элемент taglib
в web.xml используется не так, как указанная выше директива taglib
.
Как сказал Дэвид, директива taglib
требуется на каждой странице.
Если у вас много страниц, использующих общие библиотеки тегов, вы можете сократить это, поместив директивы taglib во включаемый файл и включив этот файл на каждой странице. Но независимо от того, как вы это делаете, директива taglib должна быть как-то на странице.
Этот тег, который необходимо включить на каждой странице, выглядит следующим образом:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
Если у вас есть настраиваемая библиотека тегов в пользовательском расположении, вы также можете указать местоположение относительно корня веб-приложения:
<%@ taglib prefix="ex" uri="/taglib.tld" %>
Дополнительная информация о директиве taglib
Директива taglib
из web.xml отображает тег Uris на физическое местоположение вашей библиотеки тегов. Начиная с JSP 2.0 это необязательно, так как совместимые контейнеры будут искать набор стандартных местоположений, чтобы попытаться автоматически обнаружить taglib: / WEB-INF и его подкаталоги, / META-INF, а также файлы JAR.
В web.xml это выглядит так:
<taglib>
<taglib-uri>
http://www.example.com/taglib
</taglib-uri>
<taglib-location>
/taglib.tld
</taglib-location>
</taglib>
И ссылка на taglib указана на странице JSP следующим образом (директива taglib на каждой странице неизбежна!):
<%@ taglib prefix="ex" uri="http://www.example.com/taglib" %>
Это эквивалентно второму примеру, который я привел для директивы taglib выше. Самая большая разница в том, как вы указываете на местоположение taglib.
Эта страница содержит немного больше информации.