Czym jest Strona?
Strony są elementami, które pozwalają wywoływać kod jPALIO przez protokół HTTP. Przykładowo wywołując link:
http://localhost/palio/html.run?_Instance=demo&_PageID=1
spowodujemy że zostanie wywołana Strona o id = 1 na Instancji demo.
Ze Stroną są związane następujące atrybuty:
- Nazwa - nazwa Strony nadana przez programistę.
- Kod - kod strony, analogicznie jak kod Obiektu, jest unikalny kod przy pomocy którego odwołujemy się do Strony w kodzie aplikacji np. przy tworzeniu linków linków za pomocą metody $page.url("kod.strony.foo.bar").
- Type MIME - jest to kod MIME wysyłany w odpowiedzi HTTP przy wywołaniu danej Strony.
- Nagłówek HTTP - jest to Obiekt jPALIO w którym jest realizowanie ustawianie niestandardowych nagłówków HTTP.
- Treść strony - jest to Obiekt jPALIO w którym znajduje się treść danej strony.
- Przyznawaj dostęp tylko dla użytkowników z uprawnieniami - jeśli jest zaznaczona ta opcja następuje zbadanie uprawnień Użytkownika do tej strony. Czyli sprawdzane jest czy Użytkownik posiada którykolwiek z przywilejów pozwalających na dostęp do Strony. W przypadku pozytywnej weryfikacji następuje przekazanie sterowania do obiektu wybranego w atrybucie 'Treść strony'.
- Nie używaj sumy kontrolnej dla tej strony - wyłącza sprawdzanie sumy kontrolnej. Mechanizm ten jest opisany w dalszej części.
- Ta strona generuje binarny strumień wyjściowy - ta flaga mówi że zawartość strony będzie miała postać binarną i zostanie wygenerowana przy pomocy metod $page.writeBinary(...)
- Ta strona rejestruje unikalne klucze wymagane do wykonania strony - jeśli potrzebna jest nam Strona do której chcemy umożliwić wejście wyłącznie z jeszcze innej Strony to jest to mechanizm który ułatwia tego typu zadania. Zabezpiecza on przez kilkukrotnym wywołaniem tej samej Strony np. przez wklejenie linku do pasku adresu przeglądarki lub przez mechanizm odświeżania strony w przeglądarce.
- Ustaw kod dla tej strony jako bieżący kod kategorii w module LANG - jako domyślną kategorię tłumaczeń ustawia kod bieżącej Strony.
Zarządzanie tym atrybutami programista wykonuje przez panel Strony w jPALIO Designer. Jest to szczegółowo opisane w artykule Dokumentacja > Środowisko programistyczne > jDESIGNER > Tworzenie aplikacji > Moduł Strony
Mechanizm sumy kontrolnej
W jPALIO jest wbudowany mechanizm kontroli URLi które są wywoływane i jest to właśnie realizowane przy pomocy sumy kontrolnej i metody $page.url(...). Metoda ta generuje URL do Strony jPALIO na podstawie kodu strony i parametrów które mają zostać zawarte w URLu. Przykładowo wywołanie:
$page.url("kod.strony.lorem.ipsum", "&foo=bar&color=red")
wygeneruje następujący URL:
/palio/html.run?_Instance=demo&_PageID=1&foo=bar&color=red&_CheckSum=-12345678
Jak widać w URL jest dodatkowy parametr _CheckSum który nie był przekazany do metody $page.url(...). Jest to właśnie suma kontrola z argumentów przekazanych do metody $page.url(...). Ręczna zmiana danych w URL spowoduje błąd sprawdzania sumy kontrolnej i wyświetlenie odpowiedniego komunikatu zamiast treści Strony. Pozytywna weryfikacja sumy kontrolnej powoduje przekazanie sterowania do Obiektu wskazanego jako treść Strony.
Odwołania do Stron w kodzie aplikacji
Aby w kodzie aplikacji skorzystać ze Stron należy wygenerować URL, który wskazuje konkretną Stronę. Załóżmy że mamy w jPALIO Stronę która pełni rolę kontrolera i chcemy zrobić link do listy klientów przykładowej aplikacji. Poniżej kod który spowoduje wygenerowanie linku:
<a href="$page.url("lorem.ipsum.CutomerController", "&requestHandler=customersListView")">Lista klientów</a>