2010-02-04 7 views
15

Ich habe gerade angefangen zu lesen Java EE 6 Tutorial, und ich bin ein wenig verwirrt! Ich kannte JavaServer Pages (JSP) und habe sogar während meines Studiums etwas Kodieren gemacht. Aber jetzt, in diesem Tutorial, sehe ich nichts über JSP.Was sind die Unterschiede zwischen JSP und Facelets?

Stattdessen las ich über Facelets, eine neue View Definition Framework (wie es in dieser Anleitung beschrieben wird). Ich suchte ein wenig über das Internet, die Unterscheidung zwischen JSP zu klären und Facelets, und ich kam mit this post über die mir sehr geholfen (vor allem BalusC's answer). Aber diese Begriffe sind mir immer noch etwas unklar.

Was ist der Unterschied zwischen JSP und Facelets? Werden Facelets JSP ersetzen, oder ist es nur eine Technologie, die besser mit JSF funktioniert (und wenn Letzteres der Fall ist)? Wenn sie anders sind, wann sollte ich sie benutzen?

+1

FWIW: Ich habe meine verknüpft Antwort verbessert ein bisschen mehr über JSP vs Facelets aufzunehmen. Überprüfen Sie den Absatz über JSF. – BalusC

+0

@BalusC Ausgezeichnet, danke. Sehr informativ! – Alex

+0

http://www.tugay.biz/2016/07/sorry-what-is-facelets.html –

Antwort

11

Wie Sie aus dem Tutorial lesen können,

Der Begriff Facelets verwendet wird, um zu verweisen die JavaServerTM Faces View Definition Framework, das eine Seite Erklärung Sprache ist, die für den Einsatz mit Java Server entwickelt wurde Gesichter Technologie. Als von JavaServer Faces 2.0 ist Facelets ein Teil der JavaServer Faces Spezifikation und auch die bevorzugte Präsentation Technologie zum Erstellen von JavaServer Faces basierten Anwendungen.

Nun ist JSP die Standard-View-Technologie für das Web. Aber wenn JSF als Web-Framework verwendet wird, unterstützt JSP nicht alle Funktionen von JSF 2.0. Daher war eine Standardansichtstechnologie erforderlich, um mit JSF 2.0 zu arbeiten. Also, Facelets ist genau das.

Wenn Sie nicht mit JSF überhaupt arbeiten, brauchen Sie nicht Facelets zu beschäftigen. Sie können in diesem Fall mit JSP gehen. Oder es gibt nur wenige andere Template-Frameworks wie FreeMarker und Velocity. Einige Web-Frameworks definieren darüber hinaus eigene Markups wie Struts2. Wenn Sie sich also für Struts entschieden haben, sollten Sie Struts Mark-up verwenden.

+0

Um Verwirrung zu vermeiden und ein klares Verständnis zu erfassen, würde ich vorschlagen, Sie JSP, ohnehin zu lernen. Danach werden Sie automatisch in der Lage sein, sich selbst zu sehen. JSP ist nicht veraltet und wird in vielen Java-Webanwendungen immer noch als Ansichtstechnologie verwendet. –

+0

Also, wenn ich richtig verstehe, sind beide Facelets und JSP (und andere Markups) Möglichkeiten, um Daten (entweder durch die Verwendung von Beans oder machen Sie andere Operationen) in Webseiten, richtig? Und die Wahl, welche Sie verwenden sollten, hängt ausschließlich vom Rahmen ab. Hab ich recht? – Alex

+2

Ja, irgendwie. Warum? Weil es viele Frameworks gibt, die nichts von sich selbst einführen und mit JSP zufrieden sind, plus ihrer eigenen Taglib. JSP ist also immer noch sehr nützlich. Der Fall von JSF und ähnlichen Frameworks ist ein bisschen anders. JSF unterscheidet sich im Stil. Es macht Dinge in Bezug auf Komponenten. Tapestry ist ein anderer, aber nicht sehr vertraut mit Tapestry. –