1. In der Aktionsversorgung gibt es eine Validate () -Methode. Diese Methode ist eine Verifizierungsmethode. Es wird ausgeführt, bevor die methode execute () ausgeführt wird, damit sie eine gute Rolle bei der Überprüfung spielen kann.
@Override // Schreiben Sie die Validate () -Methode in Aktion um.
A. Wenn die Überprüfung fehlschlägt, können wir AddActActionError aufrufen ("Fehlermeldung"). Auf diese Weise wird die Fehlermeldung gespeichert.
Nachdem die gesamte Validierungsmethode ausgeführt wurde, überprüft das System automatisch die JSP -Seite, die Name = "Eingabe" entspricht. Es wird im Allgemeinen empfohlen, zu der Seite zu springen, die wir registriert haben, dh, wo wir kommen und wohin wir gehen
/registerResult.jsp/register.jsp
B. Dann sind wir register.jsp
Das heißt, fügen Sie dieses Struts2 -Tag zur ersten Registrierungsseite hinzu
<S: ActionError csStyle = "Farbe: rot"/>
Die Bedeutung lautet: Wenn eine Fehlermeldung vorhanden ist, dh ActionError gibt es, geben Sie diese Fehlermeldung aus.
Darüber hinaus können wir die Tags auf CSS einstellen
// Beachten
C.
Eine Möglichkeit, Daten zu vergleichen:
Brithday und Absolventen sind Datumstypen
if (null! = birthday && null!
2. Aktionsstufe und Feldebene. Auf diese Weise können wir beim Hinzufügen von Fehlern unterschiedliche Ebenen hinzufügen, und wir können flexibler sein, wenn wir Fehlermeldungen aufnehmen. Ohne alle Informationen zur Aktionsebene hinzuzufügen, werden alle Informationen gleich angezeigt. Zum Beispiel: Wir müssen rote Schriftarten verwenden, um die Fehlermeldung von wiederholten Kennwortfehlern darzustellen, während andere Informationen wie Benutzername, Alter usw. in grünen Schriftarten dargestellt werden. Zu diesem Zeitpunkt können Sie es zu verschiedenen Ebenen hinzufügen, indem Sie es verwenden.
Schreiben Sie auf der Registrierungsseite einfach ein Tags-Level-Tag. wie folgt:
<S: ActionError csSstyle = "Farbe: rot" // Aktionsebene <S: Fielderror csSstyle = "Farbe: Blue"> </s: Fielderror> // Feldebene Public Void Void Validate () {if (null == this.username || this.username.length () <4 || this.username.length ()> 6) {this.addactionError ("Benutzername invadate"); // Fehlermeldung zum Action -Level this.addfielderror ("userername", username in field in field ");3. Nach dem Versenden eines Fehlers werden die ursprünglichen Informationen im Formular angezeigt.
<S: Form Action = "RegisterAction"> <s: textField name = "userername" label = "userername"> </s: textField> <s: passwordname = "password" label = "password"> </s: password> <s: password name = "repassword" label = "repassword" Label = "Brithday"> </s: textField> <s: textfield name = "graduate" label = "graduate"> </s: textfield> <s: subieval = "subieren"> </s: subieren> </s: Formular> Form>
Mit dem Struts2 -Tag kann es automatisch eingeben und dann die unten gezeigten falschen Feldinformationen angezeigt.
4. Obwohl diese Methode zur automatischen Verwendung von Tabellen zum Einteichen bequem ist, entspricht sie in vielen Fällen nicht unsere Anforderungen, sodass wir benutzerdefinierte Typensatze verwenden können.
Methode 2: Definieren Sie die Layout -Methode auf einfach, damit wir sie in die HTML -Methode eingeben können.
Fehler auf Feldebene werden nicht automatisch angezeigt.
<S: Form Action = "RegisterAction" themen = "einfach"> <br/> Benutzername: <s: textField name = "username" label = "username"> </s: textField> <br/> Passwort: <s: passwordname = "kennwort" kennwort "kennwort" Label = "Repassword"> </s: Passwort> <br/> Alter: <s: textfield name = "age" label = "age"> </s: textfield> <br/> Geburtstag: <s: textfield name = "birthday" label = "brithday"> </s: textfield> <br/: <s: textfield name = "label =" label = "label =" label = " value = "suruging"> </s: subieren> </s: Formular>
5. Für die Sicherheit wird Struts in Post eingereicht, wenn keine Methode definiert ist, was sicherer ist.
6. Wenn der Eingabwert nicht der Methode entspricht, z. B. das Alter von INT -Typ und Eingabe vom Zeichenstreichtyp, wird das System für Feldstufe ungültiger Feldwert für Feld "Alter" hinzufügen. Die Informationen sind wie folgt:
Ausführungsprozess:
1) Führen Sie zuerst die Typumwandlung durch
2) Führen Sie dann die Eingabevalidierung durch (führen Sie die Validierungsmethode aus) aus.
3) Wenn im obigen Prozess ein Fehler auftritt, wird die Ausführungsmethode nicht erneut ausgeführt. Die Seite wendet sich der Seite in Struts.xml zu, deren Name das Ergebnis ist, das der Eingabe entspricht.
8. Implementierung der AddActionError () -Methode der AktionSverpackungsklasse: Erstellen Sie zuerst ein ArrayList -Objekt und fügen Sie dann dem ArrayList -Objekt eine Fehlermeldung hinzu.
9. Wenn die GetActionErrors () -Methode aufgerufen wird, um eine Fehlermeldungsliste auf Aktionsebene zurückzugeben, ist die zurückgegebene Kopie eher eine Kopie der Sammlung als die Sammlung selbst. Daher werden die Elemente in der Kopie weiterhin gelöscht, indem die Methode clear () auf der Sammlung Kopie anstatt die Elemente in der Originalsammlung aufgerufen wird. Zu diesem Zeitpunkt hat der Inhalt in der Originalsammlung keine Auswirkungen erhalten. Mit anderen Worten, Fehlermeldungslisten auf Aktionsebene sind für Entwickler lesbar, aber nicht beschreibbar
Wenn Sie die Fehlermeldung nach der Validierung löschen und die Ausführung der Methode auch dann ausführen lassen möchten, können Sie dies aufrufen.
10. Die zugrunde liegende Fehlermeldung auf Fielderror -Ebene wird über LinkedHasMap implementiert. Der Schlüssel der Karte ist der String -Typ und der Wert ist List <String> -Typ. Dies bedeutet, dass ein Feldname mehreren Fehlermeldungen entsprechen kann und diese Fehlermeldungen in der Liste <String> -Kollektion platziert werden. Somit gibt es mehrere Fehlermeldungen, um denselben Fehler zu erreichen
Das obige ist eine detaillierte Erklärung der Verifizierungsmethode, die zum Eingeben von Validate () in vom Editor eingeführten Streben verwendet wird. Ich hoffe, es wird für alle hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird allen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!