JSP-direktiver: Side, inkluderer & Taglib opplæring

Innholdsfortegnelse:

Anonim

Hva er JSP-direktiver?

  • JSP-direktiver er meldingene til JSP container. De gir global informasjon om en hel JSP-side.
  • JSP-direktiver brukes til å gi spesiell instruksjon til en container for oversettelse av JSP til servletkode.
  • I JSP livssyklusfase må JSP konverteres til en servlet som er oversettelsesfasen.
  • De gir instruksjoner til containeren om hvordan du håndterer visse aspekter av JSP-behandling
  • Direktiver kan ha mange attributter med komma atskilt som nøkkelverdipar.
  • I JSP er direktiv beskrevet i <% @%> koder.

Syntaks for direktivet:

<%@ directive attribute %>

Det er tre typer direktiver:

  1. Side-direktivet
  2. Inkluder direktiv
  3. Taglib-direktivet

Hver av dem er beskrevet i detalj nedenfor med eksempler:

I denne opplæringen lærer du -

  • JSP-sidedirektivet
  • JSP Inkluder direktiv
  • JSP Taglib-direktivet

JSP-sidedirektivet

Syntaks for sidedirektivet:

<%@ page… %>
  • Det gir attributter som blir brukt på hele JSP-siden.
  • Den definerer sideavhengige attributter, for eksempel skriptspråk, feilside og bufferkrav.
  • Den brukes til å gi instruksjoner til en container som gjelder gjeldende JSP-side.

Følgende er listen over attributter knyttet til sidedirektivet:

  1. Språk
  2. Strekker
  3. Import
  4. innholdstype
  5. info
  6. økt
  7. isThreadSafe
  8. autoflush
  9. buffer
  10. IsErrorPage
  11. pageEncoding
  12. errorPage
  13. isELgonored

Mer informasjon om hvert attributt

  1. språk : Den definerer programmeringsspråket (underliggende språk) som brukes på siden.

    Språksyntaks:

    <%@ page language="value" %>

    Her er verdien programmeringsspråket (underliggende språk)

Eksempel:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>

Forklaring av kode: I eksemplet ovenfor er attributt språkverdi Java som er det underliggende språket i dette tilfellet. Derfor vil koden i uttrykkskoder bli kompilert ved hjelp av Java-kompilator.

  1. Utvider : Denne attributtet brukes til å utvide (arve) klassen slik JAVA gjør

Syntaks for utvidelser:

<%@ page extends="value" %>

Her representerer verdien klassen den må arves fra.

Eksempel:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%><%@ page extends="demotest.DemoClass" %>

Forklaring av koden: I den ovennevnte koden utvider JSP DemoClass som er innenfor demotest-pakken, og den vil utvide alle klassefunksjonene.

  1. Import : Dette attributtet er det mest brukte attributtet i attributter for sidedirektiv. Det brukes til å fortelle containeren å importere andre java-klasser, grensesnitt, enums, etc. mens genererer servletkode. Det ligner på importuttalelser i java-klasser, grensesnitt.

Import av syntaks :

<%@ page import="value" %>

Her indikerer verdien klassene som må importeres.

Eksempel:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"import="java.util.Date" pageEncoding="ISO-8859-1"%>

Forklaring av koden:

I koden ovenfor importerer vi dataklasse fra java.util-pakken (alle verktøyklasser), og den kan bruke alle metodene i følgende klasse.

  1. contentType :
  • Den definerer tegnskodeskjemaet, dvs. det brukes til å stille inn innholdstype og tegnsett for svaret
  • Standard type contentType er "text / html; charset = ISO-8859-1".

Innholdssyntaks Type:

<%@ page contentType="value" %>

Eksempel:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>

Forklaring av koden:

I ovennevnte kode er innholdstypen angitt som tekst / html, den setter tegnkoding for JSP og for generert responsside.

  1. info
  • Den definerer en streng som er tilgjengelig med getServletInfo () -metoden.
  • Dette attributtet brukes til å angi servletbeskrivelsen.

Syntaks for info:

<%@ page info="value" %>

Her representerer verdien servletinformasjonen.

Eksempel:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"info="Guru Directive JSP" pageEncoding="ISO-8859-1"%>

Forklaring av koden:

I ovennevnte kode kan strengen "Guru Directive JSP" hentes av servletgrensesnittet ved hjelp av getServletInfo ()

  1. Økt
  • JSP-siden oppretter økt som standard.
  • Noen ganger trenger vi ikke å opprette en økt i JSP, og derfor kan vi i dette tilfellet sette dette attributtet til falsk. Standardverdien til øktattributtet er sann, og økten opprettes.

    Når den er satt til falsk, kan vi indikere at kompilatoren ikke oppretter økten som standard.

Øktens syntaks:

<%@ page session="true/false"%>

Her i dette tilfellet kan sesjonsattributt settes til sant eller usant

Eksempel:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"session="false"%>

Forklaring av kode:

I eksemplet ovenfor er øktattributtet satt til "falsk", og vi indikerer derfor at vi ikke vil lage noen økt i denne JSP

  1. isThreadSafe:
  • Den definerer trådmodellen for den genererte servletten.
  • Det indikerer nivået på trådsikkerhet implementert på siden.
  • Standardverdien er sant så samtidig
  • Vi kan bruke dette attributtet til å implementere SingleThreadModel-grensesnitt i generert servlet.
  • Hvis vi setter den til false, vil den implementere SingleThreadModel og kan få tilgang til delte objekter og kan gi inkonsekvens.

Syntaks for isThreadSafe:

<% @ page isThreadSafe="true/false" %>

Her representerer true eller false hvis synkronisering er der, og sett det som true og sett det som false.

Eksempel:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"isThreadSafe="true"%>

Forklaring av koden:

I koden ovenfor er isThreadSafe satt til "true", og derfor vil synkronisering gjøres, og flere tråder kan brukes.

  1. AutoFlush:

Dette attributtet spesifiserer at den bufrede utgangen skal skylles automatisk eller ikke, og standardverdien for det attributtet er sant.

Hvis verdien er satt til falsk, blir ikke bufferen spylt automatisk, og hvis den er full, får vi et unntak.

Når bufferen er ingen, er falsken uekte, og det er ingen buffering, så den skylles automatisk.

Syntaks for autoFlush:

<% @ page autoFlush="true/false" %>

Her representerer sant / usant om buffering må gjøres eller ikke

Eksempel:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"autoFlush="false"%>

Forklaring av koden:

I den ovennevnte koden er autoflush satt til falsk, og buffering vil derfor ikke gjøres, og den har spylt utgangen manuelt.

  1. Buffer:
  • Ved å bruke dette attributtet kan utgangssvarobjektet være bufret.
  • Vi kan definere størrelsen på buffering som skal gjøres ved hjelp av dette attributtet, og standardstørrelsen er 8 KB.
  • Den leder servletten til å skrive bufferen før den skrives til responsobjektet.

Syntaks for buffer:

<%@ page buffer="value" %>

Her representerer verdien størrelsen på bufferen som må defineres. Hvis det ikke er noen buffer, kan vi skrive som ingen, og hvis vi ikke nevner noen verdi, er standard 8KB

Eksempel:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"buffer="16KB"%>

Forklaring av koden:

I den ovennevnte koden er bufferstørrelse nevnt som 16KB hvor bufferen vil være av den størrelsen

  1. isErrorPage:
  • Det indikerer at JSP-side som har en feilside vil bli sjekket på en annen JSP-side
  • Enhver JSP-fil som er erklært med "isErrorPage" -attributtet, kan da motta unntak fra andre JSP-sider som har feilsider.
  • Unntak er bare tilgjengelig på disse sidene.
  • Standardverdien er falsk.

Syntaks for isErrorPage:

<%@ page isErrorPage="true/false"%>

Eksempel:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"isErrorPage="true"%>

Forklaring av koden:

I koden ovenfor er isErrorPage satt som sant. Derfor vil den sjekke at alle andre JSPer har errorPage (beskrevet i neste attributt) attributt sett, og det kan håndtere unntak.

  1. PageEncoding:
Attributtet "pageEncoding" definerer tegnkodingen for JSP-siden.

Standard er angitt som "ISO-8859-1" hvis andre ikke er spesifisert.

Syntaks for side Koding:

<%@ page pageEncoding="vaue" %>

Her spesifiserer verdien tegnsettverdien for JSP

Eksempel:

<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"isErrorPage="true"%>

Forklaring av koden:

I ovennevnte kode er "pageEncoding" satt til standard tegnsett ISO-8859-1

  1. errorPage:
Dette attributtet brukes til å angi feilsiden for JSP-siden hvis JSP kaster et unntak, og deretter omdirigeres til unntakssiden.

Feilsyntaks Side:

<%@ page errorPage="value" %>

Her representerer verdien feilen JSP-sideverdi

Eksempel:

<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"errorPage="errorHandler.jsp"%>

Forklaring av koden:

I koden ovenfor har vi errroHandler.jsp for å håndtere unntak

  1. isELIgnorert:
  • IsELIgnored er et flaggattributt der vi må bestemme om vi skal ignorere EL-koder eller ikke.
  • Dens datatype er java enum, og standardverdien er falsk, derfor er EL aktivert som standard.

Syntaks for isEL ignorert:

<%@ page isELIgnored="true/false" %>

Her representerer true / false verdien av EL om den skal ignoreres eller ikke.

Eksempel:

<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"isELIgnored="true"%>

Forklaring av koden:

I koden ovenfor er isELIgnored sant, og ekspresjonsspråk (EL) blir derfor ignorert her.

I eksemplet nedenfor bruker vi fire attributter (kodelinje 1-2)

Eksempel med fire attributter

<% @ sidespråk = "java" contentType = "text / html;" pageEncoding = "ISO-8859-1"isELIgnored = "false"%><% @ side import = "java.util.Date"%> Direktiv Guru JSP1  Dato er: <% = ny java.util.Date ()%>

Forklaring av koden:

Kodelinje 1-2: Her har vi definert fire attributter dvs.

  • Språk: Det er satt som Java som programmeringsspråk
  • contentType: angi som tekst / html for å fortelle kompilatoren at html må være format
  • pageEncoding: standard tegnsett er angitt i dette attributtet
  • isELIgnored: Uttrykkstaggen er falsk, derfor ignoreres den ikke

Kodelinje 3: Her har vi brukt importattributt, og det importerer "Date class" som er fra Java util-pakke, og vi prøver å vise gjeldende dato i koden.

Når du utfører koden ovenfor, får du følgende utdata

Utgang :

  • Dato er: Gjeldende dato ved bruk av datometoden for dataklassen

JSP Inkluder direktiv

  • JSP "inkluderer direktiv" (kodelinje 8) brukes til å inkludere en fil til en annen fil
  • Denne inkluderte filen kan være HTML, JSP, tekstfiler osv.
  • Det er også nyttig når du lager maler med brukervisninger og deler sidene i topp- og bunntekst- og sidefelthandlinger.
  • Den inkluderer fil under oversettelsesfasen

Syntaks for inkluderer direktiv:

<%@ include… .%>

Eksempel:

Directive_jsp2.jsp (hovedfil)

<% @ sidespråk = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%><% @ include file = "directive_header_jsp3.jsp"%> Guru-direktivet JSP2  Dette er hovedfilen 

Directive_header_jsp3.jsp (som er inkludert i hovedfilen)

<% @ sidespråk = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Topptekstfil: <% int antall = 1; telle ++;out.println (count);%>:

Forklaring av koden:

Direktiv_jsp2.jsp:

Kodelinje 3: I denne koden bruker vi tagger der vi inkluderer filen directive_header_jsp3.jsp i hovedfilen (_jsp2.jsp) og får utdata fra både hovedfil og inkludert fil.

Directive_header_jsp3.jsp:

Kodelinje 11-12: Vi har tatt et variabeltall initialisert til 1 og deretter økt det. Dette vil gi utdataene i hovedfilen som vist nedenfor.

Når du utfører koden ovenfor, får du følgende utdata:

Produksjon:

  • Utgangen er Header-fil: 2: Dette er hovedfilen
  • Utdataene kjøres fra filen directive_jsp2.jsp mens den inkluderte directive_header_jsp3.jsp-filen først blir kompilert.
  • Etter at den inkluderte filen er ferdig, kjøres hovedfilen, og utdataene kommer fra hovedfilen "Dette er hovedfilen". Så du vil få utdataene som "Header file: 2" fra _jsp3.jsp og "This is main file" fra _jsp2.jsp.

JSP Taglib-direktivet

  • JSP taglib-direktivet brukes til å definere taggbiblioteket med "taglib" som prefiks, som vi kan bruke i JSP.
  • Flere detaljer vil bli dekket i delen JSP Custom Tags
  • JSP taglib-direktivet brukes på JSP-sidene ved hjelp av JSP-standard tagbiblioteker
  • Den bruker et sett med tilpassede koder, identifiserer plasseringen av biblioteket og gir metoder for å identifisere tilpassede koder på JSP-siden.

Syntaks for taglib-direktivet:

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

Her er "uri" -attributtet en unik identifikator i beskrivelsen av tagbiblioteket, og "prefix" -attributtet er et tagnavn.

Eksempel:

<% @ sidespråk = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%><% @ taglib prefiks = "gurutag" uri = "http://java.sun.com/jsp/jstl/core"%> Guru-direktivet JSP 

Forklaring av koden:

Kodelinje 3: Her er "taglib" definert med attributter uri og prefiks.

Kodelinje 9: "gurutag" er den egendefinerte koden som er definert, og den kan brukes hvor som helst