Вы используете JSF 2.0, и файл имеет расширение *.xhtml
. На самом деле вы используете Facelets в качестве технологии просмотра, а не JSP. Facelets является преемником JSP. Вы не можете смешивать Facelets с тегами JSP. Избавьтесь от всех <jsp:>
тегов, они бесполезны и никогда не будут работать на странице Facelets. Теги JSP анализируются только когда вы называете файл *.jsp
, который будет подхвачен встроенным в сервлетконтейнер JspServlet
. Но так как вы используете JSF 2.0 с Facelets, у вас уже есть FacesServlet
для этой работы. Забудь про JSP:)
Вот как должен выглядеть ваш XHTML-файл:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html">
<h:head>
<title>Title</title>
</h:head>
<h:body>
<h:inputText value="#{userBean.id}"/>
</h:body>
</html>
Обратите внимание, что вы хотите поместить этот входной компонент в <h:form>
, но я уверен, что это будет просто тестовый пример.
Также обратите внимание, что <!DOCTYPE html>
является совершенно законным здесь. Вам не нужен XHTML-тип документа. Facelets позаботятся о настройке правильного text/html
типа контента, UTF-8
кодировки символов и т. Д.
Смотри также: