2015-06-26 5 views
6

Ich habe meine Anwendung von JSF 1.2 nach 2.2 migriert.Welcher XML-Namespace für die Verwendung mit JSF 2.2

Es verwendet XML-Namespaces auf java.sun.com Domäne wie xmlns:f="http://java.sun.com/jsf/core". Oracle's Java EE 7 tutorial verwendet jedoch XML-Namespaces unter xmlns.jcp.org Domäne wie xmlns:f="http://xmlns.jcp.org/jsf/core".

Welche ist empfehlenswert und warum wurde diese geändert?

+0

Gehen Sie mit 'http: //xmlns.jcp.org/...', wenn Sie JSF 2.2.x verwenden. Es ist eine neue JSF 2.2-Sache (JSF 2.4 existiert übrigens nicht, die Sie fälschlicherweise eingegeben haben sollten. Es sollte stattdessen JSF 2.2.4 sein). – Tiny

+0

JSF 2.4? Der neueste stabile ist 2.2 und 2.3 ist in Entwicklung. Ich denke du machst Dinge durcheinander. 2.2 hat bereits den jcp-Namespace – Kukeltje

+0

Ja, es ist 2.2.4. Es ist ein Fehler beim Tippen. –

Antwort

7

Welche wird empfohlen?

Go ahead mit XML-Namespaces auf xmlns.jcp.org Domäne. Dies wurde seit Java EE 7 im Jahr 2013 neu eingeführt (was ua JSF 2.2, Servlet 3.1, CDI 1.1 usw. umfasst). Sie beachten, dass dies nicht nur Facelets Dateien betrifft, sondern auch XML-Konfigurationsdateien wie faces-config.xml, web.xml, beans.xml usw.

Der alte XML-Namespaces auf java.sun.com ist immer noch da für die Abwärtskompatibilität, aber die Unterstützung wird schließlich verschwindet in einem zukünftige Java EE Version. Sie sollten Ihre Codebasis so schnell wie möglich migrieren. Es sollte eine triviale Aufgabe sein, die die von der durchschnittlichen IDE angebotene Funktion "Suchen und Ersetzen in allen Dateien" verwendet.

Nur ältere Versionen von Mojarra 2.2.0/2.2.1 hatten Fehler im Zusammenhang mit dem XML-Namespace, die sich jedoch in neueren Versionen nicht ändern sollten. Siehe auch a.o.


und warum wurde dies geändert?

Da Java ist von Sun nicht mehr seit 2010 Beachten Sie, dass sie klug waren nicht machen es java.oracle.com oder etwas eng mit dem derzeit Besitz Unternehmen. Es ist jetzt nett und unabhängig mit dem JCP verbunden (Java Community Process), der wirklich verantwortlich für die Verwaltung der Java (EE) Spezifikationen.

+0

Was ändert sich in faces-config.xml, web.xml, beans.xml usw.? Ich habe es kurz überprüft und es scheint zu funktionieren, indem ich nur den Namespace ändere. Es wäre hilfreich, wenn Sie einen geeigneten Link teilen könnten. –

+0

Ich habe Links zu der Antwort hinzugefügt. – BalusC

+0

Okay, danke! –

Verwandte Themen