Что такое последовательность поиска taglib uri? - PullRequest
3 голосов
/ 27 января 2012

В каких местах и ​​в каком порядке Tomcat ищет соответствие тэри taglib uri?

Когда требуется файл tld и его описание в web.xml, а когда нет?

1 Ответ

3 голосов
/ 28 января 2012

Из глав 7.3.6.2 и 7.3.6.3 спецификации JSP 2.1 :

JSP.7.3.6.2 Вычисление пути ресурса TLD

Далее описывается, как разрешить директиву taglib для вычисления пути к ресурсу TLD.Он основан на значении атрибута uri директивы taglib.

  • Если uri - это abs_uri, абсолютный URI

    Найдите на карте taglib запись, для которой taglib_uri - abs_uri.Если найдено, соответствующее taglib_location является путем к ресурсу TLD.Если не найдено, возникает ошибка перевода.

  • Если uri - это root_rel_uri, относительный URI, начинающийся с /

    Найдите на карте taglib запись, для которой taglib_uri - root_rel_uri.Если найдено, соответствующее taglib_location является путем к ресурсу TLD.Если такая запись не найдена, root_rel_uri - путь ресурса TLD.

...

JSP.7.3.6.3 Особенности использования

...

Использование относительных спецификаций URI вКарта taglib позволяет использовать очень короткие имена в директиве taglib.Например, если карта:

<taglib> 
  <taglib-uri>/myPRlibrary</taglib-uri> 
  <taglib-location>/WEB-INF/tlds/PRlibrary_1_4.tld</taglib-location> 
</taglib> 

, ее можно использовать как:

<%@ taglib uri=”/myPRlibrary” prefix=”x” %> 

Наконец, правило отката позволяет директиве taglib напрямую ссылаться на TLD.Такое расположение очень удобно для быстрой разработки за счет меньшей гибкости и ответственности.Например, в приведенном выше случае он включает:

<%@ taglib uri=”/WEB-INF/tlds/PRlibrary_1_4.tld” prefix=”x” %>
...