c: forEach визуализируется как текст в фасетах - PullRequest
0 голосов
/ 22 февраля 2012

Возникла проблема с отображением jstl-тегов из интерфейса пользователя facelets: состав

Мой текущий импорт xmlns:

xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"

При развертывании текст отображается как

 <c:forEach> ... 

в выводе html.

Мне не хватает зависимости? Неправильный ли импорт? Возможно ли использование тегов JSTL в Facelets?

Спасибо большое!

1 Ответ

1 голос
/ 22 февраля 2012

Указанные пространства имен 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>.

...