Это правило помечает директивы JSP
taglib,
которые связывают одно значение атрибута
prefix
с разными значениями атрибута
uri. Переопределение будет отмечено, если оно задано в одном
файле JSP либо в статически подключенном фрагменте или файле JSP.
В соответствии со спецификацией JSP 2.1 префикс не должен переопределяться в текущей области JSP. Если префикс библиотеки тегов уже определен с другим URI в JSP либо во включенном JSP или фрагменте, продукт должен сформировать ошибку перевода. Поддержка JSP 2.1 была добавлена в WebSphere Application Server V7. Проверка добавлена в этом выпуске и в предыдущих версиях не выполнялась.
Рекомендуемое решение - изменить директиву
taglib
таким образом, чтобы она использовала уникальные префиксы, а также изменить требуемый файл JSP и указать в нем новый префикс.
Файлы JSP можно не изменять, но для этого потребуется вернуть возможность переопределения префиксов
в веб-модуле, принятую в предыдущих версиях. Для этого в файле веб-расширения IBM (ibm-web-ext.xml)
задайте следующий атрибут JSP:
<jsp-attribute name="allowTaglibPrefixRedefinition"
value="true"/>
Вместо этого можно задать пользовательское свойство веб-контейнера
com.ibm.wsspi.jsp.allowtaglibprefixredefinition=true
для управления всеми приложениями на сервере, а не только конкретным веб-модулем,
как предлагается в первом варианте.
В примере 1 вторая запись будет помечена, так как она является переопределением fmt. Для данного примера инструмент запишет в файл протокола ошибок Eclipse следующее предупреждающее сообщение:
!СООБЩЕНИЕ CWMIG1125W: в файле WebContent/Page1.jsp обнаружена попытка
переопределения значения URI для префикса fmt с
/WEB-INF/fmt.tld на /WEB-INF/otherLib.tld.
Аннотация Не следует переопределять префикс taglib с помощью другого URI
во время анализа файла /MyJspProject/WebContent/Page1.jsp в проекте MyJspProject.
где myPage.jspf содержит строку
В примере 2 будет помечена строка taglib в
файле myPage.jspf. В данном примере в протокол ошибок Eclipse будет записано
следующее предупреждающее сообщение:
!СООБЩЕНИЕ CWMIG1124W: в файле WebContent/myPage.jspf обнаружена
попытка переопределения значения URI для префикса fmt с
/WEB-INF/fmt.tld на /WEB-INF/otherLib.tld в области файла
WebContent/Page2.jsp.
Аннотация Не следует переопределять префикс taglib с помощью другого URI
во время анализа файла
/MyJspProject/WebContent/Page2.jsp в проекте MyJspProject.
Анализ информации в протоколе ошибок поможет найти конфликтующие файлы. Включенный файл JSP может привести к переопределению в нескольких базовых файлах JSP в различных областях. В этом случае файл может быть отмечен несколько раз, причем устранить несколько проблем сможет однократное исправление. Возможен вариант, при котором один включенный файл может переопределять URI библиотеки тегов по-разному в зависимости от того, в какой файл JSP он включен. По этой причине указывается каждая ошибка.
Для открытия протокола ошибок Eclipse выберите
Окно > Показать представление > Другое > Протокол ошибок
.
Дополнительная информация: