Элемент taglib
в web.xml выполняет другую задачу в директиве taglib
, которую вы имеете выше.
Как сказал Дэвид, на каждой странице требуется директива taglib
.
Если у вас есть много страниц, которые используют общие теги taglib, вы можете сократить это, поставив директивы taglib во включенный файл и включив этот файл на каждую страницу. Но независимо от того, как вы это делаете, директива taglib должна быть на странице каким-то образом.
Этот тег вам необходимо включить на каждой странице выглядит следующим образом:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
Если у вас есть собственный TagLib в другое место, вы можете также указать местоположение по отношению к корню WebAPP:
<%@ taglib prefix="ex" uri="/taglib.tld" %>
Further reading on the taglib directive
taglib
директива web.xml карты тега URIS на физическое расположение вашего TagLib. Это необязательно, поскольку 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.
This page содержит немного больше информации.
Жаль, потому что есть решение для этого: прелюдии. Используя элемент jsp-property-group секции jsp-config и дочерний элемент include-prelude, вы можете назначить фрагмент, который будет включен в любой JSP в соответствии с вашим собственным регулярным выражением. Вы можете просто указать любые директивы taglib, которые вы хотите там. – nitind 2008-10-31 22:45:16
Этот вопрос не обязательно должен быть закрыт как не по теме. – 2012-04-13 15:37:09