Hallo Ihr!
Ich habe eine Action, die einige Daten (simple types und Collections) für eine JSP bereitstellt. Auf dieser Page ist auch ein Formular, dass von einer weiteren Action (!) verarbeitet wird. Wenn der Benutzer ungültige Daten eingibt, greift die Struts-Validation und gibt das input-result zurück. In der Struts Config ist vereinbart, dass dann die JSP erneut angezeigt werden soll. Soweit, so gut. Allerdings sind dann alle Properties, die nicht Teil der Form sind, leer.
Ich frage mich nun schon einige Zeit, ob ich hier einen Desgin-Fehler begangen habe. Mir ist noch keine wirklich tolle Lösung eingefallen. Zum Bespiel habe ich eigentlich nicht vor, alle Werte der Seite durch hidden-fields zum nächsten Request zu schicken. Zumal sich oberhalb des Formulars auch Listen etc. befinden können.
Unter Struts 1 haben wir eigentlich die Daten der Seite immer durch Beans, statt durch Actions bereitgestellt. Das scheint nun aber nicht mehr üblich zu sein. Wie kann ich das Problem lösen? Für einen Tipp oder Beispiel-Code wäre ich sehr dankbar.
Gruß, Titus
Ich habe eine Action, die einige Daten (simple types und Collections) für eine JSP bereitstellt. Auf dieser Page ist auch ein Formular, dass von einer weiteren Action (!) verarbeitet wird. Wenn der Benutzer ungültige Daten eingibt, greift die Struts-Validation und gibt das input-result zurück. In der Struts Config ist vereinbart, dass dann die JSP erneut angezeigt werden soll. Soweit, so gut. Allerdings sind dann alle Properties, die nicht Teil der Form sind, leer.
Ich frage mich nun schon einige Zeit, ob ich hier einen Desgin-Fehler begangen habe. Mir ist noch keine wirklich tolle Lösung eingefallen. Zum Bespiel habe ich eigentlich nicht vor, alle Werte der Seite durch hidden-fields zum nächsten Request zu schicken. Zumal sich oberhalb des Formulars auch Listen etc. befinden können.
Unter Struts 1 haben wir eigentlich die Daten der Seite immer durch Beans, statt durch Actions bereitgestellt. Das scheint nun aber nicht mehr üblich zu sein. Wie kann ich das Problem lösen? Für einen Tipp oder Beispiel-Code wäre ich sehr dankbar.
Gruß, Titus