Facelets намеревается заменить JSP в целом. Но все же вы пытаетесь объявить его как JSP taglib. Это никогда не сработает. Оба являются отличными технологиями просмотра. Facelets - это технология представления на основе XML, разработанная, чтобы стать преемником JSP. В Java EE 6, выпущенном в декабре 2009 года, он уже заменил JSP как стандартную технологию представления для JSF, и с тех пор JSP устарела.
Вам необходимо переименовать расширение файла с .jsp
на .xhtml
и заменить все объявления тегов JSP на объявления пространств имен XML и удалить все теги <jsp:xxx>
и все сценарии <% %>
.
Так, например, следующий базовый шаблон JSP page.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<!DOCTYPE html>
<f:view>
<html lang="en">
<head>
<title>JSP page</title>
</head>
<body>
<h:outputText value="JSF components here." />
</body>
</html>
</f:view>
должен быть переписан как page.xhtml
<!DOCTYPE html>
<html lang="en"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets">
<head>
<title>Facelet page</title>
</head>
<body>
<h:outputText value="JSF components here." />
</body>
</html>
Наконец, упомянутые JAR-файлы представляют собой JAR-файлы Facelets 1.x, в то время как Facelets 2.x уже существует с 2009 года как часть реализации JSF 2.x . Если вы можете, я настоятельно рекомендую просто пропустить Facelets 1.x и перейти к Facelets 2.x.
Смотри также: