2016-02-19 2 views
0

Я видел странную проблему при использовании пользовательских библиотек тегов. На одной из моих страниц jsp относительный путь uri для настраиваемого файла tld неверен.Проблема с uri библиотеки пользовательских тегов

библиотеки тегов входит в Jsp страницы, как показано ниже <% префиксом @ TagLib = "ааа" = URI "WEB-INF/bbb.tld" %> Расположение bbb.tld является: Магазины \ WebContent \ WEB-INF \ bbb.tld

Этот taglib включен в родительский файл jsp, а там нет файла jsp, импортированного/включенного из родителя.

Мое приложение имеет несколько других файлов jsp, где тот же taglib используется с правильным путем.

Тот же код развертывается в нескольких тестовых средах. В нескольких средах код генерирует ошибку «Не удалось найти ресурс», что ожидается. Но taglib отлично работает в большинстве сред вместо неправильного пути.

Почему существует несоответствие в поведении между различными серверными средами? Сервер автоматически ищет все tld-файлы, если uri не может быть разрешен?

ответ

0

Я бы рекомендовал добавить конечную косую черту ('/') перед WEB-INF. Не могли бы вы попробовать следующее?

<%@ taglib prefix="aaa" uri="/WEB-INF/bbb.tld" %> 

Надеюсь, это даст вам последовательные результаты по всем экземплярам сервера. Кроме того, наличие вашего TLD в магазинах \ WebContent \ WEB-INF \ bbb.tld, похоже, связано с использованием IDE (например, Eclipse) для разработки вашего приложения. После экспорта приложения в качестве EAR или WAR путь будет больше похож на Stores.war/WEB-INF/bbb.tld

Смежные вопросы