Ответ 1
Лицевые стороны намерены полностью заменить JSP. Но вы пытаетесь объявить его как тег-лист JSP. Это никогда не сработает. Оба представляют собой различные технологии просмотра. Facelets - это технология просмотра на основе XML, которая призвана стать преемником JSP. В Java EE 6, который был выпущен в декабре 2009 года, он уже заменил JSP как стандартную технологию просмотра JSF, и JSP с тех пор устарел.
Вам нужно переименовать расширение файла из .jsp
в .xhtml
и заменить все объявления JLTML-тегов на объявления пространства имен 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 файлы - это Facelets 1.x JAR, в то время как Facelets 2.x уже вышел с 2009 года как часть JSF 2.x реализация. Если вы можете, я настоятельно рекомендую просто пропустить Facelets 1.x и продолжить с Facelets 2.x.
См. также:
- Документация разработчика Facelets (для Facelets 1.x)
- Учебник Java EE 6 - Facelets (для Facelets 2.x)
- Учебник JSF 2.0 с Eclipse и Glassfish (чтобы начать с нуля)
- Миграция с JSF 1.2 на JSF 2.0