Bei Redirect Post Daten mitsenden?

F

ferrari2k

Hallo, ich habe folgendes vor:
Jetziger Stand:
Der Benutzer füllt ein Formular aus, klickt auf "Absenden", auf der nächsten Seite wird das geprüft. Im Falle eines Fehlers werden session Variablen gesetzt um die Eingaben zwischenzuspeichern und ein kleines Formular mit "Zurück" Link wird generiert. Formular deswegen, damit die Navigation sichergestellt wird (Ohne die hidden Inputs wüsste ich auf der vorhergehenden Seite nicht, welches Formular ausgefüllt werden soll, gibt mehrere).

Soweit so gut. Jetzt kann es aber sein, dass der Benutzer garnicht mehr auf Zurück klicken will sondern quer durch die Anwendung surft. Geht er jetzt irgendwann wieder auf das Formular wird dieses mit den noch existierenden Session Variablen ausgefüllt, das will ich so nicht.
Ich habe jetzt gedacht, man kann das über einen 301-Redirect lösen. Ein Meta Refresh wird von vielen Seiten als unschön empfunden, also wollte ich das so machen.
Ich habe schon über Tests herausgefunden, ich kann vor dem Redirect Session Variablen setzen, nur wie sieht das mit Post Daten aus?
Ist zwar ne andere Baustelle, aber ich weiß, dass man einem Ajax Request nicht nur Get, sondern auch Post Daten anhängen kann.
Geht das in Jsp bei einem Redirect auch?
 
Dann würdest du einen POST Request auf eine Seite machen, die eigentlich mit einem GET anzusurfen wäre. Nix gut ;).

Was spricht dagegen die Fehler einfach im Originalformular anzuzeigen. Dann sparst du dir zum einen die Extraseite und gibst zum anderen dem User die Möglichkeit die Fehler direkt zu beheben.

Anonsten musst du dir eine Art Conversation Scope bauen der die Session nutzt und diese beim Ausstieg aus der Conversation die Session dementsprechend aufräumt.

Gruß
Ollie
 
Ne, das Problem ist, ich hab eine Seite (change.jsp) in der ich die Formulare lade, je nach changetype.
Eine Anlage hat ja zum Ändern andere Eingabedaten als ein Mitarbeiter ;)
Und diese changetype Variable muss ich per GET oder POST übertragen, da ich diese nicht als Session Variable ausgelegt habe. Wenn ich das jetzt ändere hänge ich da erstmal dran, das ganze Projekt hierdrauf umzustricken und das muss ja nicht sein ;)

GET will ich eigentlich vermeiden, weil 1. dem Benutzer gehören Programminterna eigentlich verborgen, und, was ich fast noch wichtiger finde, 2. der Benutzer könnte auf die Idee kommen, Daten von Dingen zu ändern, die er garnicht ändern wollte (die ID des Typs, was man ändern wollte, z.B.).
Das ist auch das zweite Feld, was ich über Post übertrage: Die ID des zu ändernden Datenbankobjekts.
Die Zwischenspeicherung der Eingabedaten erfolgt im Falle eines Falles über Session Variablen, das geht auch bei einem Request, schon ausprobiert.
Mir fehlt jetzt nur noch die Möglichkeit, zwei Postdaten (changetype und id) zu übergeben ;)

EDIT:
Ich mache das übrigens so, wie du vorgeschlagen hast, einmal gibts auf der dem Formular folgenden Seite eine Seite, die die Daten überprüft und evtl Fehler ausgibt.
Wenn der Benutzer dann "Zurück" anklickt, kommt er zu dem vorherigen Formular, alle Felder sind ausgefüllt und die verkehrten rot markiert mit Hinweistext dabei :)
Nur, wenn ich das "Zurück" jetzt automatisieren will, muss ich Post Daten weitergeben können.
 
Zuletzt bearbeitet von einem Moderator:
Zurück