Was ist der grundlegende Unterschied zwischen einer jsp taglib vs einschließlich einer Jsp-Seite?

8

Ich habe mehrere gemeinsame Elemente (Komponenten), die etwas HTML generieren. Es scheint, dass meine Optionen eine Taglib erstellen, oder einfach diese Logik in eine JSP-Seite einfügen und die JSP einschließen.

Was ist der Unterschied? Positives gegen Negatives?

    
joshjdevl 29.09.2008, 17:33
quelle

4 Antworten

4

Wenn Sie eine Taglib verwenden, ist der Container normalerweise:

  • Schreibt und ruft eine Hilfsmethode aus _jspService
  • auf
  • Innerhalb der Hilfsmethode wird eine Instanz der Tag-Klasse erzeugt und Standardmethoden aufgerufen (setParent (), doStartTag (), doEndTag () etc ...)

Dadurch bleibt der gesamte Code in der gleichen Ressource (die Anfrage wird nicht an eine andere Komponente weitergegeben) und Sie können somit Schleifenverhalten erstellen und auf andere Komponenten auf der aktuellen Seite zugreifen.

Beim Lernen von Tag-Bibliotheken ist Overhead angesagt. Aber sobald Sie Ihr erstes Tag haben, funktioniert alles bergab. Auch das Endergebnis wird für Nicht-Entwickler einfacher zu verstehen sein (vorausgesetzt, Sie wählen gute Namen für die Tags).

    
Garth Gilmour 29.09.2008, 17:48
quelle
6
Mit

Taglibs können Sie (typisierte) Parameter definieren, die Sie dokumentieren können. Auch Taglibs können sich ihrer Position im Objektbaum bewusst sein, also in einem anderen Kontext anders agieren; oder rufen Sie eine bestimmte Vorlage immer wieder auf, um Iteratoren oder Anweisungskonstrukte zu erstellen.

Ist Ihnen bewusst, dass Taglibs nicht unbedingt in Java geschrieben sein müssen? Es gibt auch ein Konzept namens Tagfiles, mit dem Sie Ihre Taglib in JSP schreiben können; oft besser geeignet für flache Komponenten ... ganz nah dran.

    
p3t0r 29.09.2008 17:40
quelle
1

Tags (die den einfach zu verwendenden JSP-ähnlichen Tag-Datei-Mechanismus enthalten) unterstützen den Aufruf mit stark typisierten, benannten Parametern.

Ein weiteres unglaublich nützliches und überraschend oft übersehenes Feature von JSP-Tags ist der Attributtyp JspFragment . Auf diese Weise können Sie einen Teil des JSP-Codes als Parameter an ein Tag übergeben, das möglicherweise wiederholt aufgerufen wird.

Enthält diese leistungsstarken Parameterfunktionen.

    
erickson 29.09.2008 17:56
quelle
-2

taglibs machen es einfacher, Parameter zu definieren und zu handhaben, aber es gibt einen erheblichen Aufwand für deren Entwicklung. Includes sind einfacher, aber weniger leistungsstark. Viel hängt von Ihrem Stil ab.

Nach meiner Erfahrung verwenden Leute im Allgemeinen nur Includes, weil sie sich nicht die Zeit nehmen wollen, Tablibs zu erstellen. Zu einem fairen Durcheinander führen. Solange Ihr Team klein und Ihr nicht zu komplex ist, ist es nicht so schlimm. Aber es ist ein Code-Geruch.

    
sblundy 29.09.2008 17:36
quelle

Tags und Links