Der Aufwand beim Upgrade von JSF 1.2 auf 2.0 basiert auf der Ansichtstechnologie, die Sie derzeit verwenden, und auf der Zukunft. Dies hängt von der Anzeigetechnologie ab, die Sie verwenden möchten.
Unabhängig von der Technologie zum Wechseln der Ansicht sollten Sie mindestens die folgenden Schritte ausführen:
<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">
Hinweis: Wenn Sie JSF 2.2 oder höher verwenden, verwenden Sie im gesamten XML-Ausschnitt http://xmlns.jcp anstelle von http://java.sun.com .org-Namespace-Domäne.
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 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-app_2_5.xsd" >
Hinweis: Wenn Sie Servlet 3.0 oder höher verwenden, verwenden Sie im gesamten XML-Snippet oben http://xmlns.jcp anstelle von http://java.sun.com .org-Namespace-Domäne.
Wenn Sie JSP 2 verwenden. Im Grunde müssen Sie nichts weiter ändern. Schrittweises Upgrade
Wenn Sie bereits ein Suffix-URL-Muster (z. B. möchten, sucht FacesServlet zunächst nach .xhtml-Dateien und, falls nicht vorhanden, *.jsp Denken Sie daran, Ihre Dateien zu scannen. Dies ermöglicht eine schrittweise Konvertierung von JSP zu Facelets, ohne die URLs zu ändern. Wenn Sie jedoch ein Präfix-URL-Muster verwenden (z. B. /faces/) und schrittweise von JSP auf Facelets aktualisieren möchten, ändern Sie es in .jsf und ersetzen Sie möglicherweise die vorhandenen Alle-Links im Die JSP-Seite muss ebenfalls geändert werden. Bitte beachten Sie, dass die neue implizite Navigation von JSF 2.0 nicht nach der Existenz der Datei sucht und trotzdem zu „ergebnis.xhtml“ navigiert. Wenn Sie also von .jsp oder zu .jsp wechseln, müssen Sie es immer noch in der JSF 1.x-Methode in die Ansichts-ID einschließen. Ich verwende Facelets 1.x als meine Ansichtstechnologie und Facelets 2.0<🎜 kommt mit JSF 2.0 > Wenn Sie es verwenden möchten, müssen Sie die folgenden zusätzlichen Schritte ausführen: JSP 2.x als unsere Ansichtstechnologie und werden in Kürze auf Facelets 2.0 aktualisieren Wenn Sie möchten, müssen Sie vor der Veröffentlichung Ihrer Website viele Änderungen vornehmen. Wir ändern hier grundsätzlich die Ansichtstechnik. Wenn Ihre vorhandenen JSP-Seiten gut gestaltet sind, gibt es keine Scriptlet Codezeilen und das einzige JSP-spezifische Tag wird Ändern Sie wie folgt. Grundlegende JSP-Include-Seitenvorlage... ... muss in die folgende grundlegende Facelets-Include-Seitenvorlage geändert werden. Das obige ist der detaillierte Inhalt vonWas sind die Herausforderungen bei der Migration von JSF 1.2 auf JSF 2.0 und wie unterscheiden sich diese Herausforderungen je nach verwendeter Ansichtstechnologie?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!Facelets 1.x bis Facelets 2.0
Entfernen Sie die Facelets 1.x-JAR aus /WEB-INF/lib. Facelets 1.x FaceletViewHandler aus faces-config.xml entfernen. Wenn Sie über eine benutzerdefinierte FaceletViewHandler-Implementierung verfügen, müssen Sie diese aktualisieren, um ViewHandlerWrapper zu erweitern. Obwohl unnötig, entfernen Sie zu Bereinigungszwecken Facelets 1.x-bezogene
<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">
<web-app
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
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-app_2_5.xsd"
>
<facelet-taglib
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-facelettaglibrary_2_0.xsd"
version="2.0">
Seitenänderungen einbeziehen
<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">
<web-app
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
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-app_2_5.xsd"
>
<facelet-taglib
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-facelettaglibrary_2_0.xsd"
version="2.0">
<%@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>