Ich lade Objekt userData
wie unten, um es auf JSP anzuzeigen. (Später wird es aus der Datenbank geladen), indem Sie die Methode "GET" der Registermethode verwenden.Struts 2 Acion-Klasse mehrfache Instanz
Als nächstes fülle ich weitere Felder von userData
auf Jsp und klicken Sie auf Register. Dann Methode Register neu starten, aber nicht das gleiche verwenden RegistrationAction
. Also z.B.
public class RegistrationAction extends ActionSupport{
int attribute1=0;
public String Register() throws Exception {
attribute1++;
if(request.getMethod().equals("GET")){ //load object to form
user=new UserData();
user.setName("lucas");
return NONE;
}
//else POST -> save()
}
}
Also, was ich sollte dieselbe Instanz von Aktion zu starten tun: attribute1 wird noch 1 statt 2.
Probe sein?
[XY Problem] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) zu seinem Maximum, IMHO. Bitte definieren Sie, was Sie * wirklich * tun müssen, und ich vertraue darauf, dass Sie nicht auf dieselbe Instanz einer ThreadLocal-Einwegaktion zugreifen müssen. Wenn Sie sich die Werte mehrerer Anrufe merken müssen, ist die Sitzung Ihr Freund. –
Neue Anfrage = neue Aktionsinstanz. Speichern Sie die Daten irgendwo oder übergeben Sie sie an eine neue Anfrage. –
Ich würde Ihnen auch empfehlen, die Sitzungsattribute für diese Anforderung zu verwenden. – Mohan