JSF не отображает кнопку

Работаю с JSF страницами в проекте Jakarta EE.У меня не отображаются кнопки на главной странице JSF.Выводится только заголовок h1 и все.

index.xhtml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://xmlns.jcp.org/jsf/html"
>
<h:head>
    <title>Menu</title>
</h:head>
<h:body>
<h1 style="color: mediumspringgreen; text-align: center">Menu</h1>
<h:commandButton value="Task1" id="task1Button" action="pages/task1"/>
<h:commandButton value="Task2" id="task2Button" action="pages/task1"/>
<h:commandButton value="Task3" id="task3Button" action="pages/task1"/>
</h:body>
</html>

web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"
         version="5.0">
  <welcome-file-list>
    <welcome-file>index.xhtml</welcome-file>
  </welcome-file-list>
</web-app>

faces-config.xml:

<?xml version = "1.0" encoding = "UTF-8"?>

<faces-config
        xmlns = "http://java.sun.com/xml/ns/javaee"
        xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation = "http://java.sun.com/xml/ns/javaee
   http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
        version = "2.0">
</faces-config>

Ответы (1 шт):

Автор решения: bobzer

В web.xml должна быть конфигурация JSF. Здесь есть пример: https://mkyong.com/jsf2/jsf-2-0-hello-world-example/. Ключевое - Faces Servlet. Без этого приложение не обрабатывается "движком" JSF, а браузеру отдается .xhtml файл "как есть". При правильной конфигурации, обращение к .xhtml файлу перехватывается "движком" JSF, и вместо тегов JSF-компонентов вставляется сгенерированный HTML/JS/CSS.

→ Ссылка