Kas ir JSP direktīvas?
- JSP direktīvas ir ziņojumi JSP konteineram. Tie sniedz globālu informāciju par visu JSP lapu.
- JSP direktīvas tiek izmantotas, lai dotu īpašas instrukcijas konteineram JSP tulkošanai servleta kodā.
- JSP dzīves cikla fāzē JSP ir jāpārvērš par servletu, kas ir tulkošanas fāze.
- Viņi konteineram dod norādījumus, kā rīkoties ar noteiktiem JSP apstrādes aspektiem
- Direktīvās var būt daudz komatu atribūtu, kas atdalīti kā atslēgu un vērtību pāri.
- JSP direktīva ir aprakstīta tagos <% @%>.
Direktīvas sintakse:
<%@ directive attribute %>
Ir trīs veidu direktīvas:
- Lappuses direktīva
- Iekļaut direktīvu
- Taglib direktīva
Katrs no tiem ir detalizēti aprakstīts zemāk ar piemēriem:
Šajā apmācībā jūs uzzināsiet -
- JSP lappuses direktīva
- JSP Iekļaut direktīvu
- JSP Taglib direktīva
JSP lappuses direktīva
Lappuses direktīvas sintakse:
<%@ page… %>
- Tas nodrošina atribūtus, kas tiek lietoti visai JSP lapai.
- Tas nosaka lapas atkarīgos atribūtus, piemēram, skriptu valodu, kļūdu lapu un buferizācijas prasības.
- To izmanto, lai sniegtu norādījumus konteineram, kas attiecas uz pašreizējo JSP lapu.
Tālāk ir norādīts to atribūtu saraksts, kas saistīti ar lapu direktīvu:
- Valoda
- Pagarina
- Importēt
- contentType
- info
- sesija
- isThreadSafe
- automātiskā skalošana
- buferis
- IsErrorPage
- pageEkodēšana
- errorPage
- isELIgonored
Sīkāka informācija par katru atribūtu
- valoda : tā nosaka lapā lietojamo programmēšanas valodu (pamatā esošo valodu).
Valodas sintakse:
<%@ page language="value" %>
Šeit vērtība ir programmēšanas valoda (pamatā esošā valoda)
Piemērs:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>
Koda skaidrojums: Iepriekš minētajā piemērā atribūta valodas vērtība ir Java, kas šajā gadījumā ir pamatā esošā valoda. Tādējādi kods izteiksmes tagos tiktu apkopots, izmantojot java kompilatoru.
- Paplašina : Šis atribūts tiek izmantots, lai paplašinātu (mantotu) klasi, piemēram, JAVA
Paplašinājumu sintakse:
<%@ page extends="value" %>
Šeit vērtība apzīmē klasi, no kuras tā jāpārmanto.
Piemērs:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%><%@ page extends="demotest.DemoClass" %>
Koda skaidrojums: Iepriekš minētajā kodā JSP paplašina DemoClass, kas atrodas demotest paketē, un tas paplašinās visas klases funkcijas.
- Importēt : Šis atribūts ir visizplatītākais atribūts lapu direktīvu atribūtos. To lieto, lai konteineram teiktu, ka, importējot citas java klases, saskarnes, uzskaitījumus utt., Vienlaikus ģenerējot servleta kodu. Tas ir līdzīgs importēšanas paziņojumiem Java klasēs, saskarnēs.
Importēšanas sintakse :
<%@ page import="value" %>
Šeit vērtība norāda klases, kuras jāimportē.
Piemērs:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"import="java.util.Date" pageEncoding="ISO-8859-1"%>
Koda skaidrojums:
Iepriekš minētajā kodā mēs importējam datuma klasi no java.util pakotnes (visas lietderības klases), un tajā var izmantot visas šīs klases metodes.
- contentType :
- Tas nosaka rakstzīmju kodēšanas shēmu, ti, to izmanto, lai iestatītu atbildes satura tipu un rakstzīmju kopu
- Noklusējuma veids contentType ir "text / html; charset = ISO-8859-1".
Satura sintakse
<%@ page contentType="value" %>
Piemērs:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>
Koda skaidrojums:
Iepriekš minētajā kodā satura tips ir iestatīts kā text / html, tas nosaka rakstzīmju kodējumu JSP un ģenerētajai atbildes lapai.
- info
- Tas nosaka virkni, kurai var piekļūt, izmantojot metodi getServletInfo ().
- Šis atribūts tiek izmantots servleta apraksta iestatīšanai.
Informācijas sintakse:
<%@ page info="value" %>
Šeit vērtība norāda servleta informāciju.
Piemērs:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"info="Guru Directive JSP" pageEncoding="ISO-8859-1"%>
Koda skaidrojums:
Iepriekš minētajā kodā virkni "Guru direktīva JSP" var iegūt serverī, izmantojot getServletInfo ()
- Sesija
- JSP lapa pēc noklusējuma izveido sesiju.
- Dažreiz mums nav nepieciešams, lai sesija tiktu izveidota JSP, un tādējādi šajā gadījumā mēs varam iestatīt šo atribūtu uz false. Sesijas atribūta noklusējuma vērtība ir taisnība, un sesija tiek izveidota.
Kad tas ir iestatīts uz False, tad mēs varam norādīt kompilatoru, lai sesija pēc noklusējuma netiktu izveidota.
Sesijas sintakse:
<%@ page session="true/false"%>
Šajā gadījumā sesijas atribūtu var iestatīt kā patiesu vai nepatiesu
Piemērs:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"session="false"%>
Koda skaidrojums:
Iepriekš minētajā piemērā sesijas atribūts ir iestatīts uz "false", tāpēc mēs norādām, ka mēs nevēlamies šajā JSP izveidot nevienu sesiju
- isThreadSafe:
- Tas nosaka izveidotās servleta vītnes modeli.
- Tas norāda lapā ieviesto diegu drošības līmeni.
- Tā noklusējuma vērtība ir patiesa tik vienlaicīgi
- Mēs varam izmantot šo atribūtu, lai ieviestu SingleThreadModel saskarni ģenerētajā servletī.
- Ja mēs to iestatīsim uz false, tas ieviesīs SingleThreadModel un varēs piekļūt visiem koplietotajiem objektiem un var radīt neatbilstību.
IsThreadSafe sintakse:
<% @ page isThreadSafe="true/false" %>
Šeit patiess vai nepatiess apzīmē, ja sinhronizācija ir, tad iestatiet to kā patiesu un iestatiet to kā nepatiess
Piemērs:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"isThreadSafe="true"%>
Koda skaidrojums:
Iepriekš minētajā kodā isThreadSafe ir iestatīts uz "true", tāpēc tiks veikta sinhronizācija, un var izmantot vairākus pavedienus.
- Automātiskā skalošana:
Šis atribūts norāda, ka buferētā izeja ir jāizskalo automātiski vai nē, un šī atribūta noklusējuma vērtība ir patiesa.
Ja vērtība ir iestatīta uz false, buferis netiks automātiski izskalots un, ja tā būs pilna, mēs iegūsim izņēmumu.
Ja bufera nav, viltus nav likumīgs un buferizācijas nav, tāpēc tas tiks automātiski izskalots.
AutoFlush sintakse:
<% @ page autoFlush="true/false" %>
Šeit true / false norāda, vai buferizācija ir jāveic vai nav
Piemērs:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"autoFlush="false"%>
Koda skaidrojums:
Iepriekš minētajā kodā automātiskā skalošana ir iestatīta uz nepatiesu, tāpēc buferizācija netiks veikta, un tā manuāli izskalo izvadi.
- Buferis:
- Izmantojot šo atribūtu, izejas atbildes objekts var būt buferēts.
- Mēs varam noteikt buferizācijas lielumu, kas jāveic, izmantojot šo atribūtu, un noklusējuma lielums ir 8 KB.
- Tas liek servletīklai rakstīt buferi pirms rakstīšanas atbildes objektā.
Bufera sintakse:
<%@ page buffer="value" %>
Šeit vērtība norāda definējamā bufera lielumu. Ja nav bufera, tad mēs varam rakstīt kā neviens, un, ja mēs nepieminam nevienu vērtību, noklusējums ir 8 KB
Piemērs:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"buffer="16KB"%>
Koda skaidrojums:
Iepriekš minētajā kodā bufera izmērs ir minēts kā 16 KB, kur buferis būtu tāda lieluma
- isErrorPage:
- Tas norāda, ka JSP lapa, kurai ir errorPage, tiks pārbaudīta citā JSP lapā
- Jebkurš JSP fails, kas deklarēts ar atribūtu "isErrorPage", var saņemt izņēmumus no citām JSP lapām, kurās ir kļūdu lapas.
- Izņēmumi ir pieejami tikai šīm lapām.
- Noklusējuma vērtība ir nepatiesa.
IsErrorPage sintakse:
<%@ page isErrorPage="true/false"%>
Piemērs:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"isErrorPage="true"%>
Koda skaidrojums:
Iepriekš minētajā kodā isErrorPage ir iestatīts kā patiess. Tādējādi tas pārbaudīs, vai visiem citiem JSP ir atribūtu kopa errorPage (aprakstīta nākamajā atribūtā), un tā var apstrādāt izņēmumus.
- Lappuses kodējums:
Noklusējums ir norādīts kā "ISO-8859-1", ja nav norādīts cits.
Kodēšanas lapas sintakse:
<%@ page pageEncoding="vaue" %>
Šeit vērtība norāda JSP simbolu vērtību
Piemērs:
<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"isErrorPage="true"%>
Koda skaidrojums:
Iepriekš minētajā kodā "pageEncoding" ir iestatīta noklusējuma simbolu kopa ISO-8859-1
- errorPage:
ErrorPage sintakse
<%@ page errorPage="value" %>
Šeit vērtība norāda kļūdas JSP lapas vērtību
Piemērs:
<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"errorPage="errorHandler.jsp"%>
Koda skaidrojums:
Iepriekš minētajā kodā, lai apstrādātu izņēmumus, mums ir errroHandler.jsp
- isELIgnored:
- IsELIgnored ir karoga atribūts, kurā mums jāizlemj, vai ignorēt EL tagus.
- Tās datu tips ir java enum, un noklusējuma vērtība ir false, tāpēc EL pēc noklusējuma ir iespējots.
IsELIgnored sintakse:
<%@ page isELIgnored="true/false" %>
Šeit taisnība / nepatiesība norāda EL vērtību neatkarīgi no tā, vai tā ir jāignorē vai nē.
Piemērs:
<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"isELIgnored="true"%>
Koda skaidrojums:
Iepriekš minētajā kodā isELIgnored ir taisnība, un tāpēc šeit tiek ignorēta izteiksmes valoda (EL).
Zemāk esošajā piemērā mēs izmantojam četrus atribūtus (koda rinda 1-2)
Piemērs ar četriem atribūtiem
<% @ page language = "java" contentType = "text / html;" pageEncoding = "ISO-8859-1"isELIgnored = "false"%><% @ page import = "java.util.Date"%>Direktīva Guru JSP1 <ķermenis> Datums ir: <% = new java.util.Date ()%>