Указанные пространства имен XML (примечание: это не «импорт xmlns») верны для JSF 2.x. Однако в Facelets 1.x, который должен использоваться автономно в проектах JSF 1.x, пространство имен XML для JSTL отличается, оно не должно содержать путь /jsp
.
xmlns:c="http://java.sun.com/jstl/core"
Но если вы на самом деле уже используете JSF 2.x (в будущих вопросах по JSF 2.x, пожалуйста, укажите и отметьте соответствующим образом), то вы, вероятно, используете контейнер сервлетов, который не поставляется с JSTL, такой как Apache Кот. Вам нужно скачать JSTL отдельно и поместить его в папку /WEB-INF/lib
. В этом случае xmlns:c="http://java.sun.com/jsp/jstl/core"
должно работать.
Смотри также:
Не связанный с конкретным вопросом, использование JSTL в Facelets определенно возможно. Вам следует только убедиться, что вы действительно понимаете жизненный цикл обработчиков тегов, таких как JSTL в JSF. См. Также JSTL в JSF2 Facelets ... имеет смысл? Вы также можете просто использовать собственный тег <ui:repeat>
Facelets вместо <c:forEach>
.