Was ist neu in Struts 2.0? – Struts 2.0 Framework

Einführung

In diesem Artikel werden wir über die neuen Funktionen in Struts 2.0 sprechen. Im Laufe der Jahre sind alle Entwickler davon überzeugt, dass Struts das beste und am einfachsten zu implementierende Framework ist. Seit den letzten zwei Jahren kommen immer mehr neue Frameworks auf den Markt und die Verwendung von Struts ist zurückgegangen. Mangelnde Aktualisierung des Struts-Frameworks ist der Hauptgrund dafür, dass Entwickler sich für ein alternatives Framework entscheiden. Um diese Frage zu beantworten, stellt das Struts-Team Struts 2.0 vor, eine Integration von Struts 1.0 mit Webwork. Hier werden wir uns mit den herausragenden Funktionen des neuen Frameworks befassen.

lesen Sie auch:

  • Struts 2 Tutorials
  • Fragen zum Struts-Interview
  • Federbeine und Federintegration

Aktionsklassen

Eine Struts 2-Aktion kann eine Aktionsschnittstelle zusammen mit anderen Schnittstellen implementieren, um optionale und benutzerdefinierte Dienste zu ermöglichen. Struts 2 bietet eine Basis-ActionSupport-Klasse zur Implementierung häufig verwendeter Schnittstellen. Die Action-Schnittstelle ist jedoch nicht erforderlich. Jedes POJO-Objekt mit einer Ausführungssignatur kann als Struts 2-Aktionsobjekt verwendet werden.

Threading-Modell

Struts 2-Aktionsobjekte werden für jede Anfrage instanziiert, sodass es keine Probleme mit der Thread-Sicherheit gibt. (In der Praxis generieren Servlet-Container viele Wegwerfobjekte pro Anfrage, und ein weiteres Objekt führt nicht zu einer Leistungseinbuße oder beeinträchtigt die Garbage Collection.)

Testbarkeit

Struts 2-Aktionen können getestet werden, indem die Aktion instanziiert, Eigenschaften festgelegt und Methoden aufgerufen werden. Die Unterstützung der Abhängigkeitsinjektion vereinfacht auch das Testen.

Servlet-Abhängigkeit

Struts 2-Aktionen sind nicht an einen Container gekoppelt. Am häufigsten werden die Servlet-Kontexte als einfache Maps dargestellt, sodass Aktionen isoliert getestet werden können. Struts 2 Actions können bei Bedarf weiterhin auf die ursprüngliche Anfrage und Antwort zugreifen. Andere Architekturelemente reduzieren oder beseitigen jedoch die Notwendigkeit, direkt auf HttpServetRequest oder HttpServletResponse zuzugreifen.

Input ernten

Struts 2 verwendet Aktionseigenschaften als Eingabeeigenschaften, sodass kein zweites Eingabeobjekt erforderlich ist. Eingabeeigenschaften können umfangreiche Objekttypen sein, die über eigene Eigenschaften verfügen können. Auf die Aktionseigenschaften kann von der Webseite aus über die Taglibs zugegriffen werden. Struts 2 unterstützt auch das ActionForm-Muster sowie POJO-Formularobjekte und POJO-Aktionen. Als Eingabe-/Ausgabeobjekte können umfangreiche Objekttypen, einschließlich Geschäfts- oder Domänenobjekte, verwendet werden. Die ModelDriven-Funktion vereinfacht TagLB-Verweise auf POJO-Eingabeobjekte.

Ausdruckssprache

Struts 2 kann JSTL verwenden, aber das Framework unterstützt auch eine leistungsfähigere und flexiblere Ausdruckssprache namens „Object Graph Notation Language“ (OGNL).

Binden von Werten in Ansichten

Struts 2 verwendet eine „ValueStack“-Technologie, sodass die Taglibs auf Werte zugreifen können, ohne Ihre Ansicht an den Objekttyp zu koppeln, den sie rendern. Die ValueStack-Strategie ermöglicht die Wiederverwendung von Ansichten über eine Reihe von Typen hinweg, die möglicherweise denselben Eigenschaftsnamen, aber unterschiedliche Eigenschaftstypen haben.

Typkonvertierung

Struts 2 verwendet OGNL zur Typkonvertierung. Das Framework umfasst Konverter für grundlegende und allgemeine Objekttypen und Grundelemente.

Validierung

Struts 2 unterstützt die manuelle Validierung über die Validate-Methode und das XWork Validation Framework. Das Xwork Validation Framework unterstützt die Verkettung der Validierung in Untereigenschaften unter Verwendung der für den Eigenschaftenklassentyp und den Validierungskontext definierten Validierungen.

Kontrolle der Aktionsausführung

Struts 2 unterstützt die Erstellung verschiedener Lebenszyklen pro Aktion über Interceptor Stacks. Benutzerdefinierte Stapel können je nach Bedarf erstellt und mit verschiedenen Aktionen verwendet werden.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen