Этот вопрос уже имеет ответ здесь:
Я следую за EE Java firstcup учебное использование Netbeans и Glassfish.
Когда я выполняю ярус веб-узлов JSF, я был проинструктирован для кодирования, браузер получает ту же разметку JSF, кодированную в .xhtml файле, и теги не представляются как HTML-тэги. Я знаю это при помощи исходного кода представления в моем браузере.
Например, для этого кода:
Page title here
Браузер должен получить что-то как:
Page title here
the welcome message goes here
Право?
Ну, мой браузер получает код jsf (первая часть кода выше) а не код HTML (вторая часть кода выше).
Это, кажется, проблема конфигурации в netbeans или glassfish, но не знает что. Какие-либо идеи?
Это - мой файл web.xml:
javax.faces.PROJECT_STAGE
Development
Faces Servlet
javax.faces.webapp.FacesServlet
1
Faces Servlet
/firstcup/*
30
greetings.xhtml
Это - мой файл faces-config.xml:
firstcup.web.WebMessages
bundle
en
es
/greetings.xhtml
success
/response.xhtml
Кроме того:
РЕШЕНИЕ: Изменение файла приветствия в web.xml на следующее решило проблему:
<welcome-file-list>
<welcome-file>firstcup/greetings.xhtml</welcome-file>
</welcome-file-list>
Если теги JSF не были проанализированы, это просто означает, что запрос не был передан через FacesServlet
. Этот сервлет отвечает за все, что связано с JSF. Вам необходимо проверить, соответствует ли используемый URL-адрес запроса шаблону URL
FacesServlet
. Обратите внимание, что это чувствительно к регистру.
Это также может произойти, если вы открыли файл напрямую во встроенном браузере среды IDE. Вы не должны этого делать. Вам необходимо указать правильный URL-адрес в адресной строке встроенного или внешнего браузера (например, MSIE / Firefox).
Обновление : еще кое-что: вы объявили библиотеку тегов JSF HTML в атрибуте
? Вы пропустили это в своем фрагменте кода.
Он должен выглядеть так:
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html">
Проверьте свой web.xml или файл faces-config.xml. Очевидно, чего-то не хватает.
edit: Я не знаю jsf 2, но в моем jsf 1 faces-config.xml у меня есть следующее:
<application>
<view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
</application>
Может вам стоит взглянуть на это. (может быть намек, извините, я больше ничем не могу)
редактировать 2: это не ответ, извините
У меня была такая же проблема. Я удалил несколько jar-файлов richfaces из WEB-INF / lib, и теперь JSF работает.
Следующий код в web.xml
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
вместо faces / *
решил мою проблему. проблема необработанных тегов jsf.
Примечание: *. Html
вызывает переполнение стека