1. Jede Aktionsmethode gibt einen Wert vom Typ String zurück. Der von Struts in einer Anfrage zurückgegebene Wert wird durch diesen Wert bestimmt.
2. In der Konfigurationsdatei muss die Konfiguration jedes Aktionselements ein Ergebniselement haben und jedes Ergebnis entspricht dem Rückgabewert einer Aktion.
3. Das Ergebnis hat zwei Attribute:
Name: Der Name des Ergebnisses, der mit dem Rückgabewert in der Aktion übereinstimmt. Der Standardwert ist success;
Typ: Antwortergebnistyp, der Standardwert ist Dispatcher.
Nachfolgend finden Sie die Datei struts-default.xml, wie unten gezeigt:
veranschaulichen:
1. Aus dem Obigen ist ersichtlich, dass es insgesamt 10 Typen gibt
2. Der Standardtyp ist ServletDispatcherResult, der weiterleitet.
3. Der Ergebnistyp kann einer dieser 10 Ergebnistypen sein.
Dispatchertyp (1), BeschreibungDer Dispatcher-Typ ist der am häufigsten verwendete Ergebnistyp und auch der Standardergebnistyp des Struts-Frameworks.
(2), BeispielSeitenreferenz:/manager/index.jsp
Aktionsreferenz: AdminAction
Konfigurationsdatei: struts.xml
In der Konfigurationsdatei gibt es zwei Schreibweisen:
Die folgende Abbildung veranschaulicht die Herkunft des Standorts:
Quellcode ansehen:
Redirect ist eine Umleitung. Wenn der Umleitungstyp verwendet wird, kann der Wert im Reuqest-Bereich nicht an die Rezeption übergeben werden.
RedirectAction-Typ (1), Beschreibung1. Leiten Sie den Ergebnistyp auf „Aktion“ um
2. Es können zwei Parameter akzeptiert werden
a)actionName: der Name der Aktion
b) Namensraum: Namensraum
Erster Weg:
<result name="success" type="redirectAction">resulttype/redirectactionAction.action</result>
Zweiter Weg:
<result name="success" type="redirectAction">
<!--
Aktionsname:
Der Pfad der angeforderten Aktion
Namensraum:
Wenn nicht geschrieben, ist der Standardwert der Pfad der angeforderten Aktion. Wenn geschrieben, wird der Pfad neu zugewiesen.
->
<param name="actionName">
resulttype/redirectactionAction.action
</param>
</result>
Erster Weg:
<result name="success" type="redirectAction">resulttype/redirectactionAction.action</result>
Zweiter Weg:
<result name="success"type="redirectAction">
<!--
Aktionsname:
Der Pfad der angeforderten Aktion
Namensraum:
Wenn nicht geschrieben, ist der Standardwert der Pfad der angeforderten Aktion. Wenn geschrieben, wird der Pfad neu zugewiesen.
->
<paramname="actionName">
resulttype/redirectactionAction.action
</param>
</result>
<Paketname=“ss“ namespace=“/csdn/csdn“>
<action="delete">
</Paket>
<Paketname=“test“ namespace=“/csdn“>
<action="delete">
</Paket>
<Paketname=“sss“ namespace=““>
<action="delete">
</Paket>
Suchreihenfolge für Aktionsnamen
1. Rufen Sie den URI des Anforderungspfads ab. Die URL lautet beispielsweise: http://server/struts2/path1/path2/path3/test.action
2. Suchen Sie zunächst nach dem Paket, dessen Namespace /path1/path2/path3 ist. Suchen Sie in diesem Paket nach der Aktion namens test. Wenn dieses Paket nicht vorhanden ist, fahren Sie mit Schritt 3 fort.
3. Suchen Sie nach dem Paket, dessen Namespace /path1/path2 ist. Suchen Sie nach der Aktion namens test in diesem Paket. Wenn dieses Paket nicht vorhanden ist, fahren Sie mit Schritt 4 fort.
4. Suchen Sie nach dem Paket mit dem Namensraum /path1. Wenn dieses Paket vorhanden ist, suchen Sie in diesem Paket nach der Aktion mit dem Namen test. Wenn dieses Paket noch nicht vorhanden ist, gehen Sie zum Standard-Namaspace-Paket, um die Aktion mit dem Namen test (Standard) zu finden leere Zeichenfolge „“) Wenn die Aktion immer noch nicht gefunden wird, wird auf der Seite angezeigt, dass die Aktion nicht gefunden werden konnte.
Aktionsprototyp Struts2
Der Prototyp-Prototyp erstellt für jede Anfrage ein neues Aktionsobjekt.
Servlet
Wenn der Singleton-Prototyp zum ersten Mal angefordert wird, können Sie das Servlet-Objekt erstellen und das Objekt jedes Mal verwenden.
Servlet-Lebenszyklus
erstellen---init---dienst---zerstören