Struts - Example Application - "struts-mailreader"

Status
Nicht offen für weitere Antworten.

bronks

Top Contributor
Evtl. hat sich schon mal jemand die Struts Example vorgenommen, die im Strutspaket dabei ist. Mir ist da etwas garnicht klar:

In der LogonAction.java wird ganz am Schluß ein Forward returned:

Code:
        return (findSuccess(mapping));

Ich hab mir die Code schon stundenlang angesehen und mir die Doku zu dieser App auch schon einige male durchgelesen und komm nicht drauf wie es dazu kommt, daß zum "MainMenu" forgewardet wird. Mir fehlt die Beziehung zwischen der "LogonAction" und dem "MainMenu". Hat das Beispiel vielleicht jemand studiert und kann mich aufklären? Danke!
 

foobar

Top Contributor
Guck dir das ActionMapping mit dem dazugehörigen Forward in der struts-config.xml an.

RTFM
 

bronks

Top Contributor
foobar hat gesagt.:
Guck dir das ActionMapping mit dem dazugehörigen Forward in der struts-config.xml an. ... RTFM
Wenn es so offensichtlich wäre, dann würde ich doch nich so blöd fragen. Ich meine, daß ich es verstanden habe, aber ich meine auch, daß man sich in einer normalen App so einen Forward nicht einbauen würde, weil es einfach nicht auf anhieb und auch nicht auf den zweiten blick verständlich ist.
 

Jaraz

Bekanntes Mitglied
Hi,

bronks hat gesagt.:
Wenn es so offensichtlich wäre, dann würde ich doch nich so blöd fragen. Ich meine, daß ich es verstanden habe, aber ich meine auch, daß man sich in einer normalen App so einen Forward nicht einbauen würde, weil es einfach nicht auf anhieb und auch nicht auf den zweiten blick verständlich ist.

wieso nicht?

Dem Logon kann es doch herzlich egal sein was als nächstes passiert.

Gruß Jaraz
 

bronks

Top Contributor
Jaraz hat gesagt.:
... wieso nicht?

Dem Logon kann es doch herzlich egal sein was als nächstes passiert ...
Bis jetzt hab ich einen Globalforward mit dem Namen "Success" noch nicht gesehen und es hat mich sehr gewundert, daß das auf diese Weise überhaupt funktioniert, aber warum auch nicht und gut zu wissen, daß das auch funktioniert. Ob das für die Praxis wirklich brauchbar ist kann ich nicht beurteilen, aber fürs erste mal gesehen, macht es einen etwas seltsamen Eindruck.
 

bronks

Top Contributor
Ich kann es euch jetzt sagen: Ja! Es ist für die Praxis brauchbar.

Vielleicht kann mir jemand noch einen Tip geben, der sich da schon mal durch den Code gewühlt hat. Die SaveRegistrationAction.java hab ich mir schon stundenlang im Debugger angesehen. Ich hab absolut keine Vorstellung davon, wie die Daten aus der "regform" in die Datenbank geschrieben werden.

Ich sehe ganz oben, daß "regform" mit den Formulardaten aufgeladen wird und gleich danach, daß das Datenbankobjekt erstellt wird. Danach kommt die ganze Validierung und sonstige Überprüferei mit Generierung der Fehlermeldungen. Mit der Zeile "PropertyUtils.copyProperties(user, regform);" werden die Formulardaten in die "user-Bean" kopiert. Dann sehe ich nur noch ein bissl Fehlerbehandlung und schlagartig ein "database.save();".

Wo werden die die Daten (user oder regform) an die DB übergeben. Ich kann da absolut nichts finden. Bitte gebt mir einen Tip.

Danke!
 

bronks

Top Contributor
Ok, ok, ok ... !!! Alles klar. Der gesamte Datenbestand für einen User wird die ganze Zeit über in der Session gehalten, in der Session bearbeitet und bei einer Änderung in die Datei geschrieben. Richtig? Soweit ich es erahnen kann, holt sich die "save()" über ein paar vererbte Umwege die Daten selbst aus der Session. Immer noch richtig?

Interessante Technik, aber ich muß mich auch erst davon überzeugen, ob es in der Praxis brauchbar sein kann.

Noch eine abschließende Frage: Meiner Fantasie nach würde ich, bei Verwendung einer SQL-Datenbank, eine Klasse mit den Methoden z.B. create(), update(), delete() haben. Diesen Methoden würde ich die geprüften Formulardaten in einer Action einfach, in einer Bean verpackt, zur weiteren Bearbeitung überreichen. Ist meine Fantasie ein sauberer Stil oder macht man das eigentlich anders?
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben