Taglibs gegen Java: oder, wie beide in der besten Art und Weise zu kombinieren

StackOverflow https://stackoverflow.com/questions/1188300

  •  19-09-2019
  •  | 
  •  

Frage

Ich bin derzeit eine Vorlage für OpenCms, ein Java-basiertes CMS mit einer sehr guten taglib-Unterstützung und eine leistungsstarke API zu schreiben.

Wie auch immer, wenn ich mir Tutorials oder die Quelle, es geht um 50-50 dass Taglibs oder Javaclasses verwendet werden, um (html) -Ausgang zu erzeugen.

Ich versuche, meine JSPs sauber zu halten, was bedeutet, nicht zu viel scriplet Code (statt JSTL verwenden und so weiter). Irgendwann habe ich mehr Kontrolle über den Code benötigen könnte, das ist waren die Java-Klassen kommen und hier weiß ich nicht, wie weit ich gehen sollte (ich persönlich mag die Idee nicht, HTML in einer Klasse zu erzeugen).

Hier sind einige Vor-und Nachteile Ich habe zwar von:

  1. Mit Taglibs bande Ich habe die Servlet-Container jedes Mal neu zu starten. Ich habe gerade meine Änderungen vornehmen und sehen das Ergebnis
  2. A taglib JSP ist leichter zu pflegen, vor allem für webdesigner wegen der "gleichen" Syntax
  3. Ein Java bietet volle / mehr IDE-Unterstützung (Typ / Syntaxprüfung)
  4. Bei komplexeren Anforderungen des Javaclass-Code ist sauberer (im Vergleich zu Variablen auf den Pagecontext in JSPs setzen)
  5. EL (Ausdruckssprache) in mehr Energie an die JSP / taglib, aber das ist eine andere Syntax wieder und Bedürfnisse gelernt werden

Gibt es Best Practices, wie dies zu nähern? Da es andere Kollegen sind, dass dies wahrscheinlich auch in Zukunft zu halten, ich bin auf der Suche nach einer sauberen / wartbare Lösung - Sie woanders vermutlich alle kennen die Situation, wenn Sie bei Jemande Code angesehen und obwohl „was zum Teufel war er / SEH Denken“ ;)

War es hilfreich?

Lösung

Ich habe diese ziemlich einfach in der Vergangenheit gehalten.

Verwendung Taglibs wenn der Zweck Präsentation ist. Sagen Sie einen Block von Anzeigecode haben, dass Sie in einer Reihe von Seiten, im Falle von Stackoverflow Wiederverwendung gehen, sagen wir den Pfeil-Code. Da das sollte nur Daten sein, die Anzeige, sollte es nicht brauchen und Java-Code, und ich würde einen taglib verwenden.

Verwenden von Java-Code, wenn Sie benötigen, um convolve Daten. Wenn Sie in einem Ressourcenpaket suchen oder eine nicht-generische Formatierung etwas anwenden, würde ich Java-Code verwenden, obwohl ich JSTL Funktionen bevorzugen um Tags für diese.

auch nicht den Zugriff auf Datenbanken verwenden.

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