Frage

Ich habe in der Vergangenheit Java- und JSP-Programmierung durchgeführt, bin aber neu bei Java Server Faces und möchte wissen, ob es eine Reihe von Best Practices für die JSF-Entwicklung gibt.

War es hilfreich?

Lösung

Einige Hinweise:Verstehen Sie die JSF-Anfrage Lebenszyklus und wo Ihre verschiedenen Codeteile hineinpassen.Finden Sie insbesondere heraus, warum Ihre Modellwerte bei Validierungsfehlern nicht aktualisiert werden.

Wählen Sie eine Tag-Bibliothek und bleiben Sie dabei.Nehmen Sie sich Zeit, Ihren Bedarf zu ermitteln und Prototypen verschiedener Bibliotheken zu erstellen.Das Mischen verschiedener Taglibs kann Ihrer psychischen Gesundheit schweren Schaden zufügen.

Andere Tipps

Erwägen Sie die Verwendung Facetten- Es vereinfacht die schlimmsten Teile der JSF-Entwicklung erheblich.Ich mache jetzt ein CMS-basiertes JSF-Projekt ohne Facelets (nachdem ich ein Projekt damit gemacht habe) und es fühlt sich an, als ob mein linker Arm fehlt ...

Ich würde Ihnen dringend empfehlen, Ihr erstes Projekt in JSF von jemandem mit Erfahrung in JSF leiten zu lassen, auch wenn dies bedeutet, dass Sie einen Auftragnehmer für drei Monate bezahlen müssen.Der JSF-Ansatz unterscheidet sich stark von JSP.Die Art und Weise, wie man Probleme angeht und löst, ist sehr unterschiedlich.

Bibliotheken

Betrachten Sie die folgenden Bibliotheken:

Die Architektur

Umarmen MVC Sie müssen nicht nur wissen, was das bedeutet, sondern es auch ausgiebig nutzen.

Es gibt zwei Hauptmuster für die Zuordnung von Controllern zu den Ansichten

Dot Net Style, ein Request-Controller pro Ansicht

Jede Seite der obersten Ebene verfügt über einen Controller (Bean) mit Anforderungsbereich. Alle Validierungen und Aktionen der Seite verwenden diese Klasse.Wird auch zum Filtern und Ordnen des Modells verwendet.Das Modell wird auf einigen Controllern auf Sitzungsebene gespeichert, die die Kommunikation mit dem Back-End (EJBs oder Persistenzschicht) übernehmen. Diese Sitzungscontroller sollten die Geschäftslogik implementieren und keine Kenntnisse über JSF, HTML oder andere Präsentationstechnologien haben.

Controller sind auf Sitzungsebene

Entwerfen Sie Controller basierend auf Ihrem Datenmodell und verschachteln Sie sie ineinander.(Dieser Beitrag wird zu lang, deshalb werde ich nicht näher darauf eingehen.)

Kenntnisse erforderlich

Alle:

Mindestens eine Person:

  • Erstellen benutzerdefinierter Komponenten
  • Einschränkungen für JSF (Rückknopf, zufällige Navigation usw.)
  • Debugg -Bibliotheken der dritten Partei (mindestens eine Person muss bequem sein, den Debugger auszubrechen und in die Implementierung von JSF einzusteigen (am einfachsten mit Open -Source -Implementierungen wie MyFaces))
  • Fügen Sie meine Stimme für Facetten hinzu.Ich habe kürzlich ein Projekt aktualisiert, um Facelets zu verwenden, und es löst einige große Probleme mit jsf, insbesondere indem es Ihnen sofort ein anständiges Vorlagensystem bietet und Ihnen die Verwendung von Standard-HTML ermöglicht, wenn es angebracht ist, ohne es in „wörtlich“ einzuschließen. -Stichworte.
  • RestFaces ist eine Lösung für das Get/Post-Problem, über das sich viele Leute beschweren.Es ist außerdem gut dokumentiert und einfach zu bedienen.
  • Verwenden Sie nicht zu viele Taglibs.Dies erschwert die Arbeit beim Upgrade erheblich.
  • SEAM sammelt viele der JSF-Best Practices, aber ich habe sie noch nicht verwendet, daher kann ich sie nicht wirklich empfehlen. Ich empfehle Ihnen nur, einen Blick darauf zu werfen.

Ich habe die IBM-Implementierung von JSf verwendet und habe einige Kommentare.Es ist kein schlechter Weg, aber man muss sich dem IBM „Way-of-Life“ verpflichten.Sie haben ihre eigene Tag-Bibliothek geschrieben, die den JSF-Standard erweitert.Wenn Sie es schaffen, innerhalb von Rational Application Developer (RAD) zu bleiben (das nicht SO oft aktualisiert wird), ist die Integration manchmal fehlerhaft, aber insgesamt in Ordnung.Auch die Integration mit WebSphere ist ziemlich gut.Sofern Ihr Arbeitgeber nicht mit IBM Golf spielt, ist es meiner Meinung nach besser, so unverbindlich wie möglich zu bleiben.

Mir ist noch keine „Best Practice“ für die Validierung auf Feld-/Formularebene bekannt.

Das heißt, die JSF-Validierung ist derzeit auf die Einzelfeldvalidierung ausgerichtet.Meiner Meinung nach wird es hässlich, wenn man sich die komplexe Validierung auf Feld-/Formularebene ansieht.

Alt, sieht für mich aber immer noch richtig aushttp://weblogs.java.net/blog/johnreynolds/archive/2004/07/improve_jsf_by_1.html

http://www.jroller.com/robwilliams/entry/jsf_multi_field_validation_not

Sie können den folgenden Link verwenden, um interessante Artikel zu finden

http://www.jsftutorials.net/

Wählen Sie eine gute Komponentenbibliothek aus. Verwenden Sie keine Richfaces. Ich empfehle, kein JSF zu verwenden, sondern Spring MVC, JQuery für die Ansicht und JSON in einer Restarchitektur.Aber wenn es sein muss, verwenden Sie Primefaces, es ist einfach zu bedienen und verfügt über genügend Komponenten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top