Вопрос

Я пытаюсь использовать JSPX (чистый XML-синтаксис для JSP) и сталкиваюсь с тем, что кажется, что это должно работать, но это не так.Я импортирую теги, используя объявления пространства имен в элементе jsp: root, а затем использую их позже для элементов, а также функций EL:

<jsp:root version="2.0"
    xmlns:jsp="http://java.sun.com/JSP/
    xmlns:c="urn:jsptld:/WEB-INF/tld/c.tld"
    xmlns:fn="urn:jsptld:/WEB-INF/tld/fn.tld">
    ...
    <c:if test="${fn:length(list) &gt; 0">
        ...
    </c:if>
    ...
</jsp:root>

Я получаю исключение, в котором говорится "Префикс атрибута fn не соответствует ни одной импортированной библиотеке тегов".Другие страницы работают нормально, но эта страница отличается тем, что она использует несколько функций EL, содержащихся в библиотеке тегов.

Есть ли другой вид импорта, который мне нужен, который приведет эти префиксы taglib в область, видимую для вызовов функций EL?

Это было полезно?

Решение

Почему бы вам не использовать полный URI TLD?Вы можете найти здесь обзор допустимых URI JSTL TLD (щелкните на любом интересующем вас JSTL taglib, чтобы получить примеры допустимых деклараций).

Чтобы быть уверенным:вы разместили JSTL JAR-файлы (ы) (jstl.jar и/или standard.jar, в зависимости от версии JSTL, до версии 1.1 это и то, и другое, а в версии 1.2 это только jstl.jar) в classpath , и вы сделали не извлекать их, не загромождая путь к классу и / или web.xml с незакрепленными файлами и объявлениями, как говорят некоторые плохие онлайн-руководства?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top