Как вы используете JSTL?

Попытка использовать JSTL, но имеет следующую проблему:

Страница Index.xhtml:

<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:fmt="http://java.sun.com/jsp/jstl/fmt"
      xmlns:c="http://java.sun.com/jsp/jstl/core"
      xmlns:ice="http://www.icesoft.com/icefaces/component" xmlns:jsp="http://java.sun.com/JSP/Page">
<body>
<c:out value="Hello world!"/>
</body></html>

POM:

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>

ИСТОЧНИК ВЫХОДА:

        <html id="document:html" lang="en" xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:fmt="http://java.sun.com/jsp/jstl/fmt" xmlns:jsp="http://java.sun.com/JSP/Page"><head><meta content="Rendered by ICEFaces D2D" name="icefaces" />
.....
    <c:out value="Hello world!"></c:out>
....</body></html>

Как вы можете видеть, что он не обрабатывает c: out, а просто распечатывает его как текст.

Ответ 1

Кажется, что:

Решение состоит в том, чтобы удалить /jsp из пространства имен jstl:

XMLNS: с = "http://java.sun.com/jstl/core"

Смотрите post.

Ответ 2

Я мог бы решить проблему с добавлением xmlns:fmt="http://java.sun.com/jsp/jstl/fmt" в моем файле xhtml.

ИЛИ

Объявление этого в моем web.xml и копирование c.tld в /WEB -INF/jsp из моего приложения:

<jsp-config> 
        <taglib> 
               <taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri> 
               <taglib-location>/WEB-INF/jsp/c.tld</taglib-location> 
        </taglib> 
</jsp-config>

Предупреждение: xmlns: c = "http://java.sun.com/jstl/core" генерирует исключение, собранное в теге h: messages