Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Ich benutze in einer Struts-Anwendung ein DynaValidatorForm. Die Eingaben werden zunächst geprüft und dann gesendet, falls alles korrekt ist - funktioniert soweit prima!
Jetzt möchte ich aber die Benutzereingaben nach dem Versenden aus der Session entfernen. Bis jetzt hat das nur mit session.invalidate() bzw. session.removeAttribute(mapping.getAttribute()) geklappt, wobei ich noch nicht genau weiß, was der zweite Befehl genau macht.
Ich will auf keinen Fall die gesamte Session zurücksetzen - nur die Formulareingaben löschen - wie stelle ich das am besten an?
Danke schonmal für die Hilfe!
PS: Natürlich habe ich session.removeAttribute("param") auch schon probiert!
versuch mal in der struts-config das initial attribut bei der definition der dynaactionform elemente zu setzen...
was willst du genau machen? ich habs irgendwie nicht ganz verstanden. der benutzer gibt werte in einer actionform ein, submitted und dann werden diese daten in der session gespeichert, oder wie?
Naja, das Ganze ist eine kleine Beispielanwendung. Auf einer fiktiven Homepage kann der Kunde einen personalisierten Newsletter abonnieren bzw. mehrere verschiedene Newsletter - ganz wie Du willst. Einzugeben sind die eMail-Adresse. Die Wahl des Newsletters erfolgt über Radio-Buttons (ja/nein).
Der Abschnitt in der struts-config.xml sieht so aus:
Über den struts-validator werden die Eingaben überprüft. Es soll außerdem demonstriert werden, wie man mit Struts die Werte in der Session speichern kann - alles kein Problem.
Jetzt hätte ich halt gerne, daß das Formular nach dem erfolgreichen Absenden der Daten auch wieder zurückgesetzt wird, damit andere Benutzer ggf. ihre Eingaben machen können. Wie gesagt, wenn ich die Session komplett lösche geht´s - falls das Formular aber Bestandteil einer größeren Web-Applikation ist, in der noch mehr Daten in der Session abgelegt werden, macht es natürlich keinen Sinn, alles zu löschen.