Struts2 INPUT-Ergebnis: Mechanismen zur Fehlerbehandlung
Das INPUT-Ergebnis von Struts2 bietet eine nahtlose Methode zur Behandlung von Konvertierungs- und Validierungsfehlern, ohne Ausnahmen auszulösen. So funktioniert es:
Konvertierungsfehlerbehandlung
Wenn String anstelle eines int eingegeben wird, versucht der Parameters Interceptor eine Konvertierung. Wenn Integer.parseInt() auf eine NumberFormatException stößt, wird die Ausnahme im Entwicklungsmodus unterdrückt und den Aktionsfehlern eine Fehlermeldung hinzugefügt. Im Produktionsmodus wird die Ausnahme stillschweigend ignoriert.
Der Conversion Errors Interceptor prüft anschließend auf Konvertierungsfehler. Wenn welche identifiziert werden, werden Feldfehler hinzugefügt und der Eingabewert wird gespeichert, um dem Benutzer bei nachfolgenden Anfragen angezeigt zu werden.
Validierungsfehlerbehandlung
Der Validierungs-Interceptor führt notwendige Validierungen basierend auf XML oder Annotationen durch. Validierungsfehler fügen der Aktion Feldfehler hinzu. Dadurch wird sichergestellt, dass dem Benutzer Fehler angezeigt werden und das Formular erneut mit den ursprünglichen Werten gefüllt wird.
Workflow und EINGABE-Ergebnis
Der Workflow Interceptor untersucht Feldfehler. Wenn Fehler auftreten, wird ein INPUT-Ergebnis zurückgegeben. Dieses Ergebnis zeigt das Formular erneut an und behält die ursprünglichen Eingabewerte und Fehlermeldungen bei.
Umgang mit Alphabeten und Nullen
Das Framework verarbeitet dieses Szenario ordnungsgemäß. Wenn ein alphabetisches Zeichen eingegeben wird, speichert der Conversion Interceptor seinen ursprünglichen Wert. Der nachfolgende Getter gibt den ursprünglichen Wert (z. B. „abc“) anstelle seines numerischen Äquivalents (z. B. „0“) zurück.
Fehlerbehebung bei Konvertierungsfehlern
Wenn Wenn die Funktion nicht wie erwartet funktioniert, stellen Sie sicher, dass die Interceptoren in der richtigen Reihenfolge sind, und überprüfen Sie das Wertattribut. Vermeiden Sie es nach Möglichkeit, es für Konvertierungszwecke zu verwenden. Verwenden Sie es stattdessen, um den Status beizubehalten, z. B. zum Speichern eines Platzhalterwerts.
Das obige ist der detaillierte Inhalt vonWie behandelt das INPUT-Ergebnis von Struts2 Konvertierungs- und Validierungsfehler?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!