Hvad er JSP-direktiver?
- JSP-direktiver er beskederne til JSP-containeren. De giver global information om en hel JSP-side.
- JSP-direktiver bruges til at give speciel instruktion til en container til oversættelse af JSP til servletkode.
- I JSP-livscyklusfasen skal JSP konverteres til en servlet, som er oversættelsesfasen.
- De giver instruktioner til containeren om, hvordan man håndterer visse aspekter af JSP-behandling
- Direktiver kan have mange attributter ved komma adskilt som nøgleværdipar.
- I JSP er direktivet beskrevet i <% @%> tags.
Syntaks for direktivet:
<%@ directive attribute %>
Der er tre typer direktiver:
- Side-direktivet
- Inkluder direktiv
- Taglib-direktivet
Hver af dem er beskrevet detaljeret nedenfor med eksempler:
I denne vejledning lærer du -
- JSP-sidedirektivet
- JSP Inkluder direktiv
- JSP Taglib-direktivet
JSP-sidedirektivet
Syntaks for sidedirektivet:
<%@ page… %>
- Det giver attributter, der bliver anvendt på hele JSP-siden.
- Den definerer sideafhængige attributter, såsom scriptingsprog, fejlside og bufferingskrav.
- Det bruges til at give instruktioner til en container, der vedrører den aktuelle JSP-side.
Følgende er dens liste over attributter, der er knyttet til sidedirektivet:
- Sprog
- Udvider sig
- Importere
- indholdstype
- info
- session
- isThreadSafe
- autoflush
- buffer
- IsErrorPage
- pageEncoding
- errorPage
- isELgonored
Flere detaljer om hver attribut
- sprog : Det definerer det programmeringssprog (underliggende sprog), der bruges på siden.
Sprogets syntaks:
<%@ page language="value" %>
Her er værdien programmeringssprog (underliggende sprog)
Eksempel:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>
Forklaring af kode: I ovenstående eksempel er attributssprogværdien Java, som er det underliggende sprog i dette tilfælde. Derfor vil koden i ekspressionskoder blive kompileret ved hjælp af java compiler.
- Udvider : Denne attribut bruges til at udvide (arve) klassen som JAVA gør
Syntaks for udvidelser:
<%@ page extends="value" %>
Her repræsenterer værdien klasse, hvorfra den skal arves.
Eksempel:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%><%@ page extends="demotest.DemoClass" %>
Forklaring af koden: I ovenstående kode udvider JSP DemoClass, som er inden for demotestpakke, og det udvider alle klassefunktioner.
- Import : Denne attribut er den mest anvendte attribut i attributter til sidedirektiv. Den bruges til at fortælle containeren at importere andre java-klasser, grænseflader, enums osv., Mens generering af servletkode. Det ligner importudtalelser i java-klasser, grænseflader.
Import af syntaks :
<%@ page import="value" %>
Her angiver værdien de klasser, der skal importeres.
Eksempel:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"import="java.util.Date" pageEncoding="ISO-8859-1"%>
Forklaring af koden:
I ovenstående kode importerer vi dataklassen fra java.util-pakken (alle hjælpeklasser), og den kan bruge alle metoder i følgende klasse.
- contentType :
- Det definerer tegnkodningsskemaet, dvs. det bruges til at indstille indholdstypen og tegnsættet for svaret
- Standardtypen for contentType er "text / html; charset = ISO-8859-1".
Indholdets syntaks Type:
<%@ page contentType="value" %>
Eksempel:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>
Forklaring af koden:
I ovenstående kode indstilles indholdstypen som tekst / html, den indstiller tegnkodning for JSP og for genereret svarside.
- info
- Det definerer en streng, som kan fås med getServletInfo () -metoden.
- Denne attribut bruges til at indstille servletbeskrivelsen.
Syntaks for info:
<%@ page info="value" %>
Her repræsenterer værdien servletoplysningerne.
Eksempel:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"info="Guru Directive JSP" pageEncoding="ISO-8859-1"%>
Forklaring af koden:
I ovenstående kode kan strengen "Guru Directive JSP" hentes af servlet-interface ved hjælp af getServletInfo ()
- Session
- JSP-siden opretter session som standard.
- Nogle gange har vi ikke brug for en session, der skal oprettes i JSP, og derfor kan vi indstille denne attribut til falsk i så fald. Standardværdien af sessionsattributten er sand, og sessionen oprettes.
Når det er indstillet til falsk, kan vi angive, at compileren ikke opretter sessionen som standard.
Syntaks for session:
<%@ page session="true/false"%>
Her i dette tilfælde kan sessionattribut indstilles til sand eller falsk
Eksempel:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"session="false"%>
Forklaring af kode:
I ovenstående eksempel er sessionsattribut sat til "falsk", hvorfor vi indikerer, at vi ikke vil oprette nogen session i denne JSP
- isThreadSafe:
- Det definerer trådmodellen for den genererede servlet.
- Det angiver niveauet for trådsikkerhed implementeret på siden.
- Dens standardværdi er sand, så samtidig
- Vi kan bruge denne attribut til at implementere SingleThreadModel-interface i genereret servlet.
- Hvis vi indstiller det til falsk, implementerer det SingleThreadModel og kan få adgang til alle delte objekter og kan give inkonsistens.
Syntaks for isThreadSafe:
<% @ page isThreadSafe="true/false" %>
Her repræsenterer sand eller falsk, hvis synkronisering er der, så indstilles som sand og indstilles som falsk.
Eksempel:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"isThreadSafe="true"%>
Forklaring af koden:
I ovenstående kode er isThreadSafe indstillet til "sand", derfor vil synkronisering blive udført, og flere tråde kan bruges.
- AutoFlush:
Denne attribut specificerer, at det buffrede output skal skylles automatisk eller ej, og at standardværdien for denne attribut er sand.
Hvis værdien er sat til falsk, skylles bufferen ikke automatisk, og hvis den er fuld, får vi en undtagelse.
Når bufferen ikke er nogen, er falsken uægte, og der er ingen buffering, så den skylles automatisk.
Syntaks for autoFlush:
<% @ page autoFlush="true/false" %>
Her repræsenterer sand / falsk, om buffering skal udføres eller ej
Eksempel:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"autoFlush="false"%>
Forklaring af koden:
I ovenstående kode er autoflush indstillet til falsk, og derfor vil buffering ikke blive udført, og den har manuelt skylt output.
- Buffer:
- Ved hjælp af denne attribut kan outputresponsobjektet være bufret.
- Vi kan definere størrelsen på buffering, der skal udføres ved hjælp af denne attribut, og standardstørrelsen er 8 KB.
- Den leder servlet til at skrive bufferen, før den skrives til responsobjektet.
Syntaks for buffer:
<%@ page buffer="value" %>
Her repræsenterer værdien størrelsen på bufferen, der skal defineres. Hvis der ikke er nogen buffer, kan vi skrive som ingen, og hvis vi ikke nævner nogen værdi, er standard 8KB
Eksempel:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"buffer="16KB"%>
Forklaring af koden:
I ovenstående kode nævnes bufferstørrelse som 16KB, hvor bufferen ville have den størrelse
- isErrorPage:
- Det indikerer, at JSP-side, der har en fejlside, kontrolleres på en anden JSP-side
- Enhver JSP-fil, der er erklæret med attributten "isErrorPage", kan derefter modtage undtagelser fra andre JSP-sider, der har fejlsider.
- Undtagelser er kun tilgængelige på disse sider.
- Standardværdien er falsk.
Syntaks for isErrorPage:
<%@ page isErrorPage="true/false"%>
Eksempel:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"isErrorPage="true"%>
Forklaring af koden:
I ovenstående kode er isErrorPage indstillet som sand. Derfor kontrollerer den, at andre JSP'er har errorPage (beskrevet i den næste attribut) attribut sæt, og det kan håndtere undtagelser.
- PageEncoding:
Standard er angivet som "ISO-8859-1", hvis en anden ikke er specificeret.
Syntaks for side Kodning:
<%@ page pageEncoding="vaue" %>
Her angiver værdi tegnsætværdien for JSP
Eksempel:
<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"isErrorPage="true"%>
Forklaring af koden:
I ovenstående kode er "pageEncoding" indstillet til standard-tegnsæt ISO-8859-1
- errorPage:
Fejlsyntaks Side:
<%@ page errorPage="value" %>
Her repræsenterer værdien fejlen JSP-sideværdi
Eksempel:
<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"errorPage="errorHandler.jsp"%>
Forklaring af koden:
I ovenstående kode har vi errroHandler.jsp til at håndtere undtagelser
- isEL ignoreret:
- IsELIgnored er en flagattribut, hvor vi skal beslutte, om vi skal ignorere EL-tags eller ej.
- Dens datatype er java enum, og standardværdien er falsk, hvorfor EL er aktiveret som standard.
Syntaks for isEL ignoreret:
<%@ page isELIgnored="true/false" %>
Her repræsenterer sand / falsk værdien af EL, uanset om den skal ignoreres eller ej.
Eksempel:
<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"isELIgnored="true"%>
Forklaring af koden:
I ovenstående kode er isELIgnored sand, og derfor ignoreres ekspressionssprog (EL) her.
I nedenstående eksempel bruger vi fire attributter (kodelinje 1-2)
Eksempel med fire attributter
<% @ side sprog = "java" contentType = "tekst / html;" pageEncoding = "ISO-8859-1"isELIgnored = "false"%><% @ side import = "java.util.Date"%>Direktiv Guru JSP1 Dato er: <% = ny java.util.Date ()%>