![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 487 Pomógł: 7 Dołączył: 7.01.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Witam serdecznie.
Jakiś czas temu zacząłem się zastanawiać nad łańcuchami. W OPB widziałem ActionChain, gdzieś indziej FilterChain i cały czas mnie zastanawia czy słowo łańcuch jest na miejscu, czy nie lepiej pasuje stos? Gdy rozrysowałem sobie przykładowy łańcuch wyglądał on tak: Kod Wpisz token -> Wypełnij formularz -> Wpisz kod aktywacyjny \ onError = break Domyślnie, kiedy akcja zwróci wartość true jest wywoływane kolejne ogniwo. Gdy zwróci false jest powtarzana. Atrybut onError mówi co zrobić, gdy wystąpi błąd. Tak więc wymyśliłem następujące zapisy: Kod onError = stop - zatrzymuje akcję (domyślnie) onError = back - poprzednia akcja onError = break - przerywa łańcuch Odwołania do danych, które zostały podane wcześniej można realizować poprzez sesję, w której zapisywane są wartości pochodzące z formularzy. Myślę też nad zastosowaniem czegoś na kształt beanów z javy, które byłyby przesyłane poprzez sesje. Moje pytanie brzmi, czy ktoś miał styczność z taką interpretacją łańcucha, czy istnieje jakaś inna nazwa na to (akcje wiązane?) i w końcu co o tym sądzicie? Zapraszam do dyskusji. :] |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 487 Pomógł: 7 Dołączył: 7.01.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Dokładnie z tą różnicą, że są to odmienne akcje, które mogą robić różne rzeczy. Aby zachować przejrzystość każda akcja to oddzielny plik i klasa. Jeśli znasz prado był tam komponent Wizzard.
Przykładowo - pierwsza akcja generuje formularz i obrazek z napisem, następnie sprawdza czy przesłany formularz był poprawny (wygenerowany napis==napis wpisany w formularzu), jeśli tak to zwraca true i wyświetla formularz z polami login, hasło itp, następnie go sprawdza, jeśli wszystko dobrze to to generuje email z kodem aktywacyjnym i zwraca true. Po tym jest wyświetlana ostatnia strona, która oczekuje na poprawny klucz. Gdy użytkownik wpisze odpowiedni klucz ostatnia akcja zwraca true i system zamyka łańcuch poprzez redirect to zdefiniowanej strony. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 06:42 |