объявить директивы JSP taglib в web.xml

Я хотел сопоставить конкретный блок if в java

   ...
   ...
   if(isTrue){
       doAction();

   }
...
...
}

. Если я использую regExp

if \(isTrue(.|\n)*}

, он включал замыкающую скобку для блока метода, поэтому я использовал

if \(!isTrue([^}.]|\n)*}

, чтобы исключить заключительную скобку из соответствия шаблону.

13
задан Matt Ball 14 April 2012 в 02:36
поделиться

2 ответа

taglib элемент в web.xml служит другой цели к taglib директива, которую Вы имеете выше.

, Поскольку David сказал, taglib, директива требуется на каждой странице.

, Если у Вас есть много страниц, которые используют общий taglibs, Вы можете ярлык это путем помещения taglib директив во включать файл, и включая этот файл каждая страница. Но неважно как Вы делаете это, taglib директива должна быть на странице так или иначе.

то, Которые отмечают Вас, должно включать на каждой странице, похож на это:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

, Если у Вас есть пользовательский taglib в пользовательском месте, можно также указать местоположение относительно корня веб-приложения:

 <%@ 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 местоположение.

Эта страница содержит немного больше информации.

27
ответ дан Athena 14 April 2012 в 02:36
поделиться

Извините, Вы немного ошибаетесь. Если страница использует taglib, у Вас должна быть taglib директива для нее на странице. Вы могли поместить общие taglib директивы во включать файл, чтобы все Ваши страницы включали с включать директивой, но во время компиляции taglib директива должна быть там.

я предпочитаю НЕ иметь taglib элементы в web.xml, и вместо этого иметь taglib директиву указывают значение URI, которое используется в элементе "uri" в TLD, который является в taglib файле банки в Вашем WEB-INF/lib.

5
ответ дан David M. Karr 14 April 2012 в 02:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: