JSP direktīvas: Lapa, Iekļaut & Taglib apmācība

Satura rādītājs:

Anonim

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:

  1. Lappuses direktīva
  2. Iekļaut direktīvu
  3. 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:

  1. Valoda
  2. Pagarina
  3. Importēt
  4. contentType
  5. info
  6. sesija
  7. isThreadSafe
  8. automātiskā skalošana
  9. buferis
  10. IsErrorPage
  11. pageEkodēšana
  12. errorPage
  13. isELIgonored

Sīkāka informācija par katru atribūtu

  1. 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.

  1. 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.

  1. 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.

  1. 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.

  1. 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 ()

  1. 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

  1. 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.

  1. 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.

  1. 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

  1. 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.

  1. Lappuses kodējums:
Atribūts "pageEncoding" nosaka rakstzīmju kodējumu JSP lapai.

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

  1. errorPage:
Šis atribūts tiek izmantots, lai iestatītu kļūdas lapu JSP lapai, ja JSP izmet izņēmumu un pēc tam tas novirza uz izņēmuma lapu.

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

  1. 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 ()%>

Koda skaidrojums:

Kodu rinda 1-2: Šeit mēs esam definējuši četrus atribūtus, ti

  • Valoda: Tā ir iestatīta kā Java kā programmēšanas valoda
  • contentType: iestatiet kā text / html, lai kompilatoram pateiktu, ka html jābūt formātā
  • pageEncoding: šajā atribūtā ir iestatīta noklusējuma rakstzīmju kopa
  • isELIgnored: izteiksmes tags ir nepatiess, tāpēc tas netiek ignorēts

3. koda rindiņa: Šeit mēs izmantojām importēšanas atribūtu, un tas importē datuma klasi, kas ir no Java util pakotnes, un mēs cenšamies kodā parādīt pašreizējo datumu.

Izpildot iepriekš minēto kodu, jūs iegūsiet šādu izvadi

Izeja :

  • Datums ir: Pašreizējais datums, izmantojot datumu klases datuma metodi

JSP Iekļaut direktīvu

  • JSP "iekļaut direktīvu" (koda līnija 8) tiek izmantots, lai vienu failu iekļautu otrā failā
  • Šis iekļautais fails var būt HTML, JSP, teksta faili utt.
  • Tas ir arī noderīgi, veidojot veidnes ar lietotāja skatiem un sadalot lapas galvenes un kājenes un sānjoslas darbībās.
  • Tas ietver failu tulkošanas posmā

Iekļaušanas direktīvas sintakse:

<%@ include… .%>

Piemērs:

Direktīva_jsp2.jsp (galvenais fails)

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%><% @ include file = "direction_header_jsp3.jsp"%> Guru direktīva JSP2 <ķermenis> Šis ir galvenais fails 

Director_header_jsp3.jsp (kas ir iekļauts galvenajā failā)

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%><ķermenis> Galvenes fails: <% int skaits = 1; skaits ++;out.println (skaits);%>:

Koda skaidrojums:

Direktīva_jsp2.jsp:

3. koda rindiņa: Šajā kodā mēs izmantojam iekļaujamos tagus, kur mēs iekļaujam failu direktīva_header_jsp3.jsp galvenajā failā (_jsp2.jsp) un iegūstam gan galvenā faila, gan iekļautā faila izvadi.

Director_header_jsp3.jsp:

Koda rinda 11-12: Mēs esam veikuši mainīgo skaitu, kas inicializēts līdz 1, un pēc tam to palielinājis. Tas dos izvadi galvenajā failā, kā parādīts zemāk.

Izpildot iepriekš minēto kodu, tiek parādīta šāda izeja:

Izeja:

  • Izeja ir Header file: 2: Šis ir galvenais fails
  • Izeja tiek izpildīta no direktīva_jsp2.jsp faila, savukārt vispirms tiks kompilēts iekļautais fails_direktors_jevs_jsp3.jsp.
  • Pēc tam, kad iekļautais fails ir paveikts, galvenais fails tiek izpildīts, un izeja būs no galvenā faila "Šis ir galvenais fails". Tātad jūs iegūsiet izvadi kā "Header file: 2" no _jsp3.jsp un "This is main file" no _jsp2.jsp.

JSP Taglib direktīva

  • JSP taglib direktīva tiek izmantota, lai definētu tagu bibliotēku ar "taglib" kā prefiksu, kuru mēs varam izmantot JSP.
  • Sīkāka informācija tiks sniegta sadaļā JSP pielāgotie tagi
  • JSP taglib direktīva tiek izmantota JSP lapās, izmantojot JSP standarta tagu bibliotēkas
  • Tas izmanto pielāgotu tagu komplektu, identificē bibliotēkas atrašanās vietu un nodrošina pielāgotu tagu identificēšanas līdzekļus JSP lapā.

Taglib direktīvas sintakse:

<%@ taglib uri="uri" prefix="value"%>

Šeit atribūts "uri" ir unikāls identifikators tagu bibliotēkas aprakstā un "prefikss" ir taga nosaukums.

Piemērs:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%><% @ taglib prefix = "gurutag" uri = "http://java.sun.com/jsp/jstl/core"%> Guru direktīva JSP <ķermenis>

Koda skaidrojums:

3. koda rindiņa: Šeit "taglib" ir definēts ar atribūtiem uri un prefiksu.

9. koda rindiņa: “gurutag” ir definēts pielāgots tags, un to var izmantot jebkur