JSP-direktiv: Sida, inkludera & Taglib-handledning

Innehållsförteckning:

Anonim

Vad är JSP-direktiv?

  • JSP-direktiv är meddelandena till JSP-containern. De ger global information om en hel JSP-sida.
  • JSP-direktiv används för att ge speciell instruktion till en container för översättning av JSP till servlet-kod.
  • I JSP-livscykelfasen måste JSP konverteras till en servlet som är översättningsfasen.
  • De ger instruktioner till behållaren om hur man hanterar vissa aspekter av JSP-bearbetning
  • Direktiv kan ha många attribut med kommaseparerade som nyckel-värdepar.
  • I JSP beskrivs direktivet i <% @%> taggar.

Syntax för direktivet:

<%@ directive attribute %>

Det finns tre typer av direktiv:

  1. Siddirektivet
  2. Inkludera direktiv
  3. Taglib-direktivet

Var och en av dem beskrivs i detalj nedan med exempel:

I den här handledningen lär du dig -

  • JSP-siddirektivet
  • JSP Inkludera direktiv
  • JSP Taglib-direktivet

JSP-siddirektivet

Syntax för siddirektivet:

<%@ page… %>
  • Det ger attribut som appliceras på hela JSP-sidan.
  • Det definierar sidberoende attribut, som skriptspråk, felsida och buffertkrav.
  • Den används för att ge instruktioner till en container som avser aktuell JSP-sida.

Följande är dess lista över attribut associerade med siddirektivet:

  1. Språk
  2. Förlänger
  3. Importera
  4. innehållstyp
  5. info
  6. session
  7. isThreadSafe
  8. autoflush
  9. buffert
  10. IsErrorPage
  11. pageEncoding
  12. errorPage
  13. isELgonerad

Mer information om varje attribut

  1. språk : Den definierar det programmeringsspråk (underliggande språk) som används på sidan.

    Språkens syntax:

    <%@ page language="value" %>

    Här är värdet programmeringsspråket (underliggande språk)

Exempel:

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

Förklaring av kod: I exemplet ovan är attributets språkvärde Java som är det underliggande språket i detta fall. Därför skulle koden i uttrycktaggar kompileras med hjälp av Java-kompilator.

  1. Utökar : Detta attribut används för att utvidga (ärva) klassen som JAVA gör

Syntax för utvidgningar:

<%@ page extends="value" %>

Här representerar värdet den klass som den måste ärvas från.

Exempel:

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

Förklaring av koden: I ovanstående kod utökar JSP DemoClass som ligger inom demotestpaketet och det kommer att utöka alla klassfunktioner.

  1. Importera : Det här attributet är det mest använda attributet i siddirektivattribut. Det används för att berätta för behållaren att importera andra java-klasser, gränssnitt, enum osv. Medan generera servletkod. Det liknar importuttalanden i java-klasser, gränssnitt.

Import av syntax :

<%@ page import="value" %>

Här anger värdet de klasser som måste importeras.

Exempel:

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

Förklaring av koden:

I koden ovan importerar vi Date-klassen från paketet java.util (alla verktygsklasser) och det kan använda alla metoder i följande klass.

  1. contentType :
  • Den definierar teckenkodningsschemat, dvs det används för att ställa in innehållstyp och teckenuppsättning för svaret
  • Standardtypen för contentType är "text / html; charset = ISO-8859-1".

Syntax för innehållet Typ:

<%@ page contentType="value" %>

Exempel:

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

Förklaring av koden:

I ovanstående kod är innehållstypen inställd som text / html, den ställer in teckenkodning för JSP och för genererad svarsida.

  1. info
  • Den definierar en sträng som kan nås med getServletInfo () -metoden.
  • Detta attribut används för att ställa in servletbeskrivningen.

Syntax för information:

<%@ page info="value" %>

Här representerar värdet servletinformationen.

Exempel:

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

Förklaring av koden:

I ovanstående kod kan strängen "Guru Directive JSP" hämtas av servletgränssnittet med getServletInfo ()

  1. Session
  • JSP-sidan skapar session som standard.
  • Ibland behöver vi inte skapa en session i JSP, och därför kan vi i detta fall ställa in detta attribut till falskt. Standardvärdet för sessionsattributet är sant och sessionen skapas.

    När det är satt till falskt kan vi ange att kompilatorn inte skapar sessionen som standard.

Syntax för sessionen:

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

Här kan i detta fall sessionattribut ställas in på true eller false

Exempel:

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

Förklaring av kod:

I exemplet ovan är sessionsattribut inställt på "falskt", därför indikerar vi att vi inte vill skapa någon session i denna JSP

  1. isThreadSafe:
  • Det definierar trådmodellen för den genererade servlet.
  • Det anger nivån på trådsäkerhet implementerad på sidan.
  • Standardvärdet är sant så samtidigt
  • Vi kan använda detta attribut för att implementera SingleThreadModel-gränssnittet i genererad servlet.
  • Om vi ​​ställer in det på falskt implementerar det SingleThreadModel och kan komma åt alla delade objekt och kan ge inkonsekvens.

Syntax för isThreadSafe:

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

Här representerar sant eller falskt om synkronisering finns där, ställ in som sant och ställ in det som falskt.

Exempel:

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

Förklaring av koden:

I koden ovan är isThreadSafe inställd på "true", därför kommer synkronisering att göras och flera trådar kan användas.

  1. AutoFlush:

Detta attribut anger att den buffrade utmatningen ska spolas automatiskt eller inte och standardvärdet för det attributet är sant.

Om värdet är satt till falskt spolas bufferten inte automatiskt och om det är fullt får vi ett undantag.

När bufferten är ingen är falskt olagligt och det finns ingen buffring, så det kommer att spolas automatiskt.

Syntax för autoFlush:

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

Här representerar true / false om buffring måste göras eller inte

Exempel:

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

Förklaring av koden:

I ovanstående kod är autoflush inställd på falskt och därför kommer buffring inte att göras och den har spolat utmatningen manuellt.

  1. Buffert:
  • Med hjälp av detta attribut kan utgångssvarobjektet buffras.
  • Vi kan definiera storleken på buffringen som ska göras med detta attribut och standardstorleken är 8 KB.
  • Den styr servlet att skriva bufferten innan den skriver till svarsobjektet.

Buffertens syntax:

<%@ page buffer="value" %>

Här representerar värdet storleken på bufferten som måste definieras. Om det inte finns någon buffert kan vi skriva som ingen, och om vi inte nämner något värde är standard 8KB

Exempel:

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

Förklaring av koden:

I ovanstående kod nämns buffertstorlek som 16KB vari bufferten skulle ha den storleken

  1. isErrorPage:
  • Det indikerar att JSP-sida som har en felsida kommer att kontrolleras på en annan JSP-sida
  • Alla JSP-filer som deklareras med attributet "isErrorPage" kan då ta emot undantag från andra JSP-sidor som har felsidor.
  • Undantag är endast tillgängliga på dessa sidor.
  • Standardvärdet är falskt.

Syntax för isErrorPage:

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

Exempel:

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

Förklaring av koden:

I koden ovan är isErrorPage satt som true. Därför kommer den att kontrollera att alla andra JSP-filer har errorPage (beskrivs i nästa attribut) attributuppsättning och att den kan hantera undantag.

  1. Sidkodning:
Attributet "pageEncoding" definierar teckenkodningen för JSP-sidan.

Standardinställningen anges som "ISO-8859-1" om något annat inte anges.

Syntax för sidan Kodning:

<%@ page pageEncoding="vaue" %>

Här anger värdet teckenuppsättning för JSP

Exempel:

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

Förklaring av koden:

I ovanstående kod har "pageEncoding" ställts in till standard teckenuppsättning ISO-8859-1

  1. errorPage:
Detta attribut används för att ställa in felsidan för JSP-sidan om JSP ger ett undantag och sedan omdirigeras till undantagssidan.

Felsyntax Sida:

<%@ page errorPage="value" %>

Här representerar värdet felet JSP-sidvärde

Exempel:

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

Förklaring av koden:

I ovanstående kod har vi errroHandler.jsp för att hantera undantag

  1. isELIgnored:
  • IsELIgnored är ett flaggattribut där vi måste bestämma om vi ska ignorera EL-taggar eller inte.
  • Dess datatyp är java enum, och standardvärdet är falskt varför EL är aktiverat som standard.

Syntax för isELIgnored:

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

Här representerar true / false värdet på EL oavsett om det ska ignoreras eller inte.

Exempel:

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

Förklaring av koden:

I ovanstående kod är isELIgnored sant och därför ignoreras uttrycksspråk (EL) här.

I exemplet nedan använder vi fyra attribut (kodrad 1-2)

Exempel med fyra attribut

<% @ sida språk = "java" contentType = "text / html;" pageEncoding = "ISO-8859-1"isELIgnored = "false"%><% @ page import = "java.util.Date"%> Direktiv Guru JSP1  Datum är: <% = ny java.util.Date ()%>

Förklaring av koden:

Kodrad 1-2: Här har vi definierat fyra attribut dvs.

  • Språk: Den är inställd som Java som programmeringsspråk
  • contentType: ställ in som text / html för att berätta för kompilatorn att html måste vara format
  • pageEncoding: standard teckenuppsättning ställs in i detta attribut
  • isELIgnored: Expression Tag är falskt och ignoreras därför inte

Kodrad 3: Här har vi använt importattribut, och det importerar "Date class" som kommer från Java util-paket, och vi försöker visa aktuellt datum i koden.

När du kör koden ovan får du följande utdata

Utgång :

  • Datum är: Aktuellt datum med datumklassens datummetod

JSP Inkludera direktiv

  • JSP "inkludera direktiv" (kodlinje 8) används för att inkludera en fil till en annan fil
  • Denna inkluderade fil kan vara HTML, JSP, textfiler etc.
  • Det är också användbart för att skapa mallar med användarvyerna och bryta sidorna i sidhuvud och sidfot och sidofält.
  • Den inkluderar filen under översättningsfasen

Syntax för inkludera direktiv:

<%@ include… .%>

Exempel:

Directive_jsp2.jsp (huvudfil)

<% @ sida språk = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%><% @ include file = "directive_header_jsp3.jsp"%> Guru-direktivet JSP2  Detta är huvudfilen 

Directive_header_jsp3.jsp (som ingår i huvudfilen)

<% @ sida språk = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Rubrikfil: <% int antal = 1; räkna ++;out.println (count);%>:

Förklaring av koden:

Direktiv_jsp2.jsp:

Kodrad 3: I den här koden använder vi taggar där vi inkluderar filen directive_header_jsp3.jsp i huvudfilen (_jsp2.jsp) och får utdata från både huvudfilen och den inkluderade filen.

Directive_header_jsp3.jsp:

Kodrad 11-12: Vi har tagit ett variabelantal initierat till 1 och sedan ökat det. Detta ger utdata i huvudfilen som visas nedan.

När du kör koden ovan får du följande utdata:

Produktion:

  • Utgången är rubrikfil: 2: Detta är huvudfilen
  • Utdata körs från filen directive_jsp2.jsp medan den inkluderade directive_header_jsp3.jsp-filen kompileras först.
  • När den inkluderade filen är klar körs huvudfilen och utdata kommer från huvudfilen "Detta är huvudfilen". Så du får utdata som "Header file: 2" från _jsp3.jsp och "This is main file" från _jsp2.jsp.

JSP Taglib-direktivet

  • JSP taglib-direktivet används för att definiera taggbiblioteket med "taglib" som prefix, vilket vi kan använda i JSP.
  • Mer detaljer kommer att beskrivas i avsnittet Anpassade etiketter för JSP
  • JSP taglib-direktivet används på JSP-sidorna med JSP-standardtaggbibliotek
  • Den använder en uppsättning anpassade taggar, identifierar platsen för biblioteket och tillhandahåller sätt att identifiera anpassade taggar på JSP-sidan.

Syntax för taglib-direktivet:

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

Här är "uri" -attribut en unik identifierare i tagbiblioteksbeskrivaren och "prefix" -attribut är ett taggnamn.

Exempel:

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

Förklaring av koden:

Kodrad 3: Här definieras "taglib" med attribut uri och prefix.

Kodrad 9: "gurutag" är den anpassade taggen som definieras och den kan användas var som helst