struts2 Validierung und methodenbezogene Vorbereitung

In haben eincustprofileview Aktionen, die eine JSP-Seite mit allen Details des Kunden anzeigen und in meiner JSP sind alle Felder wie meine

<s:textfield name="custprofileVO.email" value="%{custprofileVO.email}" />
<s:textfield name="custprofileVO.phone" value="%{custprofileVO.phone}" />

Wenn Sie dies tun, gibt es eine Senden-Schaltfläche, die Action aufruftupdatecustprofile.

Imupdatecustprofile Aktion, anstatt Eigenschaften direkt zuzuordnen, habe ich eine Mitgliedsvariableprivate CustprofileVO custprofileVO; mit Setter und Getter.

ImCustprofileVO Klasse ich habe Felder wieemail, phone und alle anderen Felder mit ihren Setter- und Getter-Methoden.

Das Problem ist: imupdatecustprofile Aktion, die ich implementierePrepareable Schnittstelle und in der Umsetzung vonprepare() Methode, die ich habecustprofileVO.setDefaultID("Select"); und das Setzen von 4 weiteren Feldern, aber wenn ich das Programm durch Klicken auf "Senden" starte, erhalte ichNPE in der allerersten Zeile ist dascustprofileVO.setDefaultID("Select");

Es sieht so aus, als würde das Framework nicht instanziierenCustprofileVO custprofileVO. Wenn ich manuell instanziierecustprofileVO knapp über der Einstellung des Feldes (indem SiecustprofileVO = new CustprofileVO() dann klappt es. Das Problem ist - idealerweise sollte mir struts2 framework eine Instanz geben, die es nicht tut, um den Grund zu verstehen.

Weiter wenn ich manuell einstellecustprofileVO In der Vorbereitungsmethode funktioniert es, aber ich habe auch die Validierung mithilfe von XML angewendet, wobei mein Feldname lautetcustprofileVO.email , seine Validierung danncustprofileVO.phone seine Validierung.

Wenn ich versuche, beim Klicken auf die Schaltfläche "Senden" zu validieren, wird die Validierung ausgeführt, aber auf dem Bildschirm werden Meldungen für alle Felder angezeigt, da die Daten in allen Textfeldern ausgeblendet werden.

Warum werden Daten entfernt?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage