Dyrektywy

Służą do dostarczenia informacji niezależnej od jakichkolwiek żądań, a związanej z fazą tłumaczenia strony. Dyrektywy zawiera się w znacznikach <%@ ... %>.

Dyrektywa page

Składnia

<%@ page	
   [ language="java" ]	
   [ extends="pakiet.klasa" ]	
   [ import="{pakiet.klasa | pakiet.*}, ..." ]	
   [ session="true|false" ]	
   [ buffer="none|8kb|rozmiarkb" ]	
   [ autoFlush="true|false" ]	
   [ isThreadSafe="true|false" ]	
   [ info="tekst" ]	
   [ errorPage="adres" ]	
   [ contentType="typ_mime [ ; charset=kodowanie_znakow ]" |	
      "text/html ; charset=ISO-8859-1" ]	
   [ isErrorPage="true|false" ]	
   [ pageEncoding="kodowanie_znakow | ISO-8859-1" ]	
%>

Dyrektywa ta odnosi się do całej strony łącznie ze stronami dołączonymi statycznie, czyli przy użyciu dyrektywy include. Dyrektywa ta może występować na stronie wiele razy, ale każdy atrybut, z wyjątkiem import może być określony tylko jeden raz.

Atrybut language określa, jakiego języka użyto w skryptach umieszczonych na stronie. W wersji 1.2 specyfikacji JSP jedyną dozwoloną wartością jest java.

Atrybut extends powinien zawierać nazwę nadklasy dla klasy, do której zostanie skompilowana strona JSP

Atrybut import określa, jakie pakiety należy zaimportować, aby stronę udało się skompilować i aby działała poprawnie

Atrybut session (wartość domyślna true) mówi, czy dla tej strony należy trzymać sesję. Jeżeli atrybut ten jest ustawiony na false, nie można używać obiektu session i korzystać z akcji <jsp:useBean> z atrybutem scope zawierającym session.

Atrybut buffer (wartość domyślna 8kb) określa wielkość bufora dla strumienia wyjściowego, tzn. określa jak wiele danych należy zapisać do strumienia, aby zostały one przesłane do klienta.

Atrybut autoFlush (wartość domyślna true) mówi, czy bufor jest automatycznie opróżniany kiedy zostanie zapełniony. Gdy atrybut ma wartość false, przy przekroczeniu wielkości bufora, podnoszony jest wyjątek. Atrybut nie może mieć wartości false, gdy buffer ustawiono na none.

Atrybut isThreadSafe (wartość domyślna true) określa, czy strona została napisana przy uwzględnieniu wielowątkowości. Jeżeli tak, to kontener JSP dopuszcza współbieżną obsługę wielu żądań dotyczących strony. W przeciwnym przypadku w każdym momencie strona może obsługiwać co najwyżej jedno żądanie.

Atrybut info zawiera informację o stronie, którą można później uzyskać wywołując metodę Servlet.getServletInfo().

Atrybut errorPage zawiera adres strony obsługi błędów, do której przesyłane są wyjątki zgłaszane podczas wykonywania się strony.

Atrybut isErrorPage (wartość domyślna false) mówi, czy strona posiada stronę obsługi błędów. Jeżeli tak, na stronie można używać obiektu exception. W przeciwnym przypadku nie jest to możliwe.

Atrybut contentType (wartość domyślna "text/html; charset=ISO-8859-1") określa, jaki typ MIME i kodowanie znaków zostanie użyte w odpowiedzi przesłanej do klienta. Można użyć dowolnego typu MIME i kodowania znaków obsługiwanego przez kontener JSP.

Atrybut pageEncoding (wartość domyślna "ISO-8859-1") mówi, jakiego kodowania znaków strona użyje w odpowiedzi przesłanej do klienta.

Dyrektywa include

Składnia

<%@ include file="adres_pliku" %>

Dyrektywa dołącza do strony, podczas fazy tłumaczenia, zawartość pliku o podanym adresie.

Dyrektywa taglib

Składnia

<%@ taglib uri="adres_biblioteki" prefix="prefiks_biblioteki" %>

Dyrektywa dodaje bibliotekę tagów znajdującą się pod podanym adresem. Tagi z tej biblioteki bedą identyfikowane przez podany prefiks.

Przykład:

<%@ include uri="http://www.server.com/tagi" prefix="mojeTagi" %>

<mojeTagi:jakisTag parametr="wartosc">
  ...
</mojeTagi:jakisTag>