#Uwagi na temat technologii JSP:
- strona główna to index.jsp
- wszystko pisze się normalnie w HTML i CSS
- znaczniki:
- <% otwierający i %> zamykający - pomiędzy nimi wywoływany jest kod Java, działanie podobne do znacznika <?php
- <%= zmienna %> działa analogicznie, jak -> wyrzuca na stronę zawartość zmiennej
- <%@ page import="..."%> -> importuje pakiet dodany do projektu; umożliwia korzystanie z dostępnych w obrębie pakietu klas i metod
- każda kolejna strona powinna zawierać następujący nagłówek: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> - by zagwarantować poprawne kodowanie polskich znaków #Uwagi dotyczące implementacji front-endu: Serwer docelowy to JBoss, ale nie ma to znaczenia dla samej implementacji strony. Każda strona powinna być w podkatalogu i zawarta w pliku index.jsp. Do ogarnięcia będzie kilka spraw:
- zmienna session
- getAttribute("nazwa") - zwraca obiekt będący reprezentacją ustawionego atrybutu lub null, jeżeli nie został on ustawiony - zwraca obiekt, więc trzeba go przetworzyć, by móc wykorzystać, o czym niżej
- setAttribute("nazwa",wartość) - ustawia atrybut sesji o podanej nazwie i własności, na przykład session.setAttribute("loggedIn",true); #Przetwarzanie obiektu na zmienne Metoda getAttribute("nazwa") zwraca obiekt, który jest typem nadrzędnym. Metody konwersji:
- boolean - boolean flaga = new Boolean(session.getAttribute("nazwa")+"").booleanValue();
- String - String napis = session.getAttribute("nazwa").toString();
- int - int liczba = Integer.parseInt(session.getAttribute("nazwa")+"").intValue();
- double - double liczba = Double.parseDouble(session.getAttribute("nazwa")+"").doubleValue();
UWAGA Jeżeli session.getAttribute(...) zwróci null, to parsowanie do typów pierwotnych (int, float, double) się nie powiedzie i rzuci wyjątek IllegalArgumentException! Przed parsowaniem trzeba sprawdzić, czy konwertowany obiekt nie jest null!
Dodatkowe info wrzucę na dniach. Peace