Ошибка функции jstl el на веб-сфере - PullRequest
2 голосов
/ 26 сентября 2011

Я использую аналогичную условную проверку с использованием JSTL в файле jspx

<jsp:root version="2.0" 
    xmlns:jsp="http://java.sun.com/JSP/Page"
    xmlns:c="http://java.sun.com/jsp/jstl/core"
    xmlns:fn="http://java.sun.com/jsp/jstl/functions">  

    <c:choose>
    <c:when test="${fn:startsWith(check.defApplication, 'Mail')}">
    <c:set var="mySet" value="messages"/>
    </c:when>
    <c:otherwise>
    <c:set var="mySet" value="messagesagain"/>
    </c:otherwise>
    </c:choose>

но выдает ошибку

Невозможно найти функцию el, начинающуюся с tld с uri http://java.sun.com/jsp/jstl/core

Функция el определена для uri http://java.sun.com/jsp/jstl/functions, но, тем не менее, в сообщении об ошибке указывается неверный uri Я изменил порядок в объявлениях URI, но сообщение об ошибке осталось прежним.

URI правильно определен в web.xml. Приведенный выше код прекрасно работает на tomcat, но выдает ошибку на Websphere 7.0.0.19.

Есть идеи, что может пойти не так?

Ответы [ 2 ]

1 голос
/ 26 сентября 2011

Я не уверен насчет истинной причины проблемы.Однако следующие утверждения указывают на то, что что-то не совсем верно:

URI правильно определен в web.xml.

Вам следует не определите их в своем web.xml.Просто наличие JAR-файла во время выполнения classpath должно быть достаточным.В этом случае вам также следует , а не извлечь файлы JAR JSTL и поместить их свободное содержимое в файл /WEB-INF.


.Приведенный выше код прекрасно работает на tomcat, но выдает ошибку на Websphere 7.0.0.19.

Websphere поставляется с собственной библиотекой JSTL.Этот конфликт указывает на то, что вы удалили файлы JAR JSTL в /WEB-INF/lib веб-приложения.Вы хотите удалить их и поместить в собственную папку Tomcat /lib.

См. Также:

0 голосов
/ 21 апреля 2015

Проверьте это: https://www.ibm.com/developerworks/community/forums/html/topic?id=869d42f2-6ef6-4708-b5fd-dec19afe1f03&ps=25

Они считают, что webpshere не позволяет запускать jsp внутри web-inf

...