Ответ 1
Элемент taglib
в web.xml выполняет другую задачу с директивой taglib
, которую вы указали выше.
Как сказал Дэвид, директива taglib
требуется на каждой странице.
Если у вас много страниц, которые используют общие теги taglib, вы можете сократить это, поставив директивы taglib в include файл и включив этот файл на каждую страницу. Но независимо от того, как вы это делаете, директива taglib должна быть на странице каким-то образом.
Этот тег, который необходимо добавить на каждую страницу, выглядит следующим образом:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
Если у вас есть пользовательский taglib в настраиваемом месте, вы также можете указать местоположение относительно корня webapp:
<%@ taglib prefix="ex" uri="/taglib.tld" %>
Дальнейшее чтение директивы taglib
Директива 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.
Эта страница содержит немного больше информации.