Wat zijn JSP-richtlijnen?
- JSP-richtlijnen zijn de berichten naar de JSP-container. Ze bieden globale informatie over een hele JSP-pagina.
- JSP-richtlijnen worden gebruikt om speciale instructies te geven aan een container voor het vertalen van JSP naar servlet-code.
- In de JSP-levenscyclusfase moet JSP worden geconverteerd naar een servlet die de translatiefase is.
- Ze geven instructies aan de container over hoe om te gaan met bepaalde aspecten van JSP-verwerking
- Richtlijnen kunnen veel attributen hebben die door komma's zijn gescheiden als sleutel / waarde-paren.
- In JSP wordt de instructie beschreven in <% @%> tags.
Syntaxis van richtlijn:
<%@ directive attribute %>
Er zijn drie soorten richtlijnen:
- Pagina richtlijn
- Inclusief richtlijn
- Taglib-richtlijn
Elk van hen wordt hieronder in detail beschreven met voorbeelden:
In deze tutorial leer je -
- JSP-pagina-instructie
- JSP Inclusief richtlijn
- JSP Taglib-richtlijn
JSP-pagina-instructie
Syntaxis van paginarichtlijn:
<%@ page… %>
- Het biedt attributen die op de hele JSP-pagina worden toegepast.
- Het definieert pagina-afhankelijke kenmerken, zoals scripttaal, foutpagina's en buffervereisten.
- Het wordt gebruikt om instructies te geven aan een container die betrekking heeft op de huidige JSP-pagina.
Hieronder volgt de lijst met attributen die zijn gekoppeld aan de pagina-instructie:
- Taal
- Verlengt
- Importeren
- contentType
- info
- sessie
- isThreadSafe
- autoflush
- buffer
- IsErrorPage
- pageEncoding
- errorPage
- isELIgonored
Meer details over elk kenmerk
- taal : het definieert de programmeertaal (onderliggende taal) die op de pagina wordt gebruikt.
Syntaxis van taal:
<%@ page language="value" %>
Hier waarde is de programmeertaal (onderliggende taal)
Voorbeeld:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>
Verklaring van code: In het bovenstaande voorbeeld is de attribuut taalwaarde Java, wat in dit geval de onderliggende taal is. Daarom zou de code in expressietags worden gecompileerd met behulp van de java-compiler.
- Extends : Dit attribuut wordt gebruikt om de klasse uit te breiden (over te nemen) zoals JAVA doet
Syntaxis van uitbreidingen:
<%@ page extends="value" %>
Hier vertegenwoordigt de waarde de klasse waarvan het moet worden geërfd.
Voorbeeld:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%><%@ page extends="demotest.DemoClass" %>
Uitleg van de code: In de bovenstaande code breidt JSP DemoClass uit die zich binnen het demotest-pakket bevindt, en het zal alle klassenfuncties uitbreiden.
- Import : dit attribuut is het meest gebruikte attribuut in paginarichtlijn attributen. Het wordt gebruikt om de container te vertellen andere java klassen, interfaces, enums, etc. te importeren tijdens het genereren van servlet code. Het is vergelijkbaar met import statements in java klassen, interfaces.
Syntaxis van importeren :
<%@ page import="value" %>
Hier geeft waarde de klassen aan die moeten worden geïmporteerd.
Voorbeeld:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"import="java.util.Date" pageEncoding="ISO-8859-1"%>
Uitleg van de code:
In de bovenstaande code importeren we de Date-klasse uit het java.util-pakket (alle hulpprogramma-klassen) en het kan alle methoden van de volgende klasse gebruiken.
- inhoudstype :
- Het definieert het karaktercoderingsschema, dwz het wordt gebruikt om het inhoudstype en de karakterset van het antwoord in te stellen
- Het standaardtype contentType is "text / html; charset = ISO-8859-1".
Syntaxis van het contentType:
<%@ page contentType="value" %>
Voorbeeld:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>
Uitleg van de code:
In de bovenstaande code is het inhoudstype ingesteld als tekst / html, het stelt de tekencodering in voor JSP en voor de gegenereerde responspagina.
- info
- Het definieert een tekenreeks die toegankelijk is via de methode getServletInfo ().
- Dit attribuut wordt gebruikt om de servletbeschrijving in te stellen.
Syntaxis van info:
<%@ page info="value" %>
Hier vertegenwoordigt de waarde de servlet-informatie.
Voorbeeld:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"info="Guru Directive JSP" pageEncoding="ISO-8859-1"%>
Uitleg van de code:
In de bovenstaande code kan de string "Guru Directive JSP" worden opgehaald door de servlet-interface met behulp van getServletInfo ()
- Sessie
- JSP-pagina maakt standaard een sessie.
- Soms hebben we geen sessie nodig om in JSP te worden gemaakt, en daarom kunnen we dit attribuut in dat geval op false zetten. De standaardwaarde van het sessieattribuut is true en de sessie wordt gemaakt.
Als het is ingesteld op false, kunnen we de compiler aangeven om de sessie niet standaard te maken.
Syntaxis van sessie:
<%@ page session="true/false"%>
In dit geval kan het sessiekenmerk worden ingesteld op true of false
Voorbeeld:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"session="false"%>
Toelichting code:
In het bovenstaande voorbeeld is het sessiekenmerk ingesteld op "false", dus we geven aan dat we geen sessie in deze JSP willen maken
- isThreadSafe:
- Het definieert het threading-model voor de gegenereerde servlet.
- Het geeft het niveau van draadveiligheid aan dat op de pagina is geïmplementeerd.
- De standaardwaarde is waar, dus gelijktijdig
- We kunnen dit kenmerk gebruiken om de SingleThreadModel-interface in de gegenereerde servlet te implementeren.
- Als we het op false zetten, implementeert het SingleThreadModel en heeft het toegang tot alle gedeelde objecten en kan het inconsistentie opleveren.
Syntaxis van isThreadSafe:
<% @ page isThreadSafe="true/false" %>
Hier geeft true of false aan of er synchronisatie is, stel deze dan in als true en stel deze in als false.
Voorbeeld:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"isThreadSafe="true"%>
Uitleg van de code:
In de bovenstaande code is isThreadSafe ingesteld op "true", dus wordt er gesynchroniseerd en kunnen meerdere threads worden gebruikt.
- AutoFlush:
Dit kenmerk geeft aan dat de gebufferde uitvoer automatisch moet worden leeggemaakt of niet en de standaardwaarde van dat kenmerk is true.
Als de waarde is ingesteld op false, wordt de buffer niet automatisch leeggemaakt en als deze vol is, krijgen we een uitzondering.
Als de buffer geen is, dan is de false onwettig en is er geen buffer, dus het wordt automatisch leeggemaakt.
Syntaxis van autoFlush:
<% @ page autoFlush="true/false" %>
Hier geeft true / false aan of buffering moet worden uitgevoerd of niet
Voorbeeld:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"autoFlush="false"%>
Uitleg van de code:
In de bovenstaande code is de autoflush ingesteld op false en daarom wordt er niet gebufferd en wordt de uitvoer handmatig doorgespoeld.
- Buffer:
- Met behulp van dit kenmerk kan het outputantwoordobject worden gebufferd.
- We kunnen de grootte van de buffering definiëren met behulp van dit kenmerk en de standaardgrootte is 8 KB.
- Het geeft de servlet de opdracht om de buffer te schrijven voordat hij naar het antwoordobject schrijft.
Syntaxis van buffer:
<%@ page buffer="value" %>
Hier vertegenwoordigt de waarde de grootte van de buffer die moet worden gedefinieerd. Als er geen buffer is, kunnen we schrijven als geen, en als we geen waarde vermelden, is de standaard 8 KB
Voorbeeld:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"buffer="16KB"%>
Uitleg van de code:
In de bovenstaande code wordt de buffergrootte 16 KB genoemd, waarbij de buffer van die grootte zou zijn
- isErrorPage:
- Het geeft aan dat de JSP-pagina met een foutpagina wordt gecontroleerd op een andere JSP-pagina
- Elk JSP-bestand dat is gedeclareerd met het kenmerk "isErrorPage" kan dan uitzonderingen ontvangen van andere JSP-pagina's met foutpagina's.
- Uitzonderingen zijn alleen beschikbaar voor deze pagina's.
- De standaardwaarde is false.
Syntaxis van isErrorPage:
<%@ page isErrorPage="true/false"%>
Voorbeeld:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"isErrorPage="true"%>
Uitleg van de code:
In de bovenstaande code is isErrorPage ingesteld als true. Daarom zal het controleren of alle andere JSP's de attribuutset errorPage (beschreven in het volgende attribuut) hebben en uitzonderingen kunnen verwerken.
- Pagina-codering:
De standaardwaarde is gespecificeerd als "ISO-8859-1" als er geen andere is gespecificeerd.
Syntaxis van pageEncoding:
<%@ page pageEncoding="vaue" %>
Hier geeft waarde de karaktersetwaarde voor JSP aan
Voorbeeld:
<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"isErrorPage="true"%>
Uitleg van de code:
In de bovenstaande code is "pageEncoding" ingesteld op de standaard tekenset ISO-8859-1
- foutpagina:
Syntaxis van errorPage:
<%@ page errorPage="value" %>
Hier staat de waarde voor de fout JSP-paginawaarde
Voorbeeld:
<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"errorPage="errorHandler.jsp"%>
Uitleg van de code:
In de bovenstaande code hebben we errroHandler.jsp om uitzonderingen af te handelen
- wordt genegeerd:
- IsELIgnored is een vlagattribuut waar we moeten beslissen of we EL-tags willen negeren of niet.
- Het datatype is java enum, en de standaardwaarde is false, daarom is EL standaard ingeschakeld.
Syntaxis van isELGenegeerd:
<%@ page isELIgnored="true/false" %>
Hier vertegenwoordigt true / false de waarde van EL, ongeacht of deze moet worden genegeerd of niet.
Voorbeeld:
<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"isELIgnored="true"%>
Uitleg van de code:
In de bovenstaande code is isELIgnored waar en daarom wordt Expression Language (EL) hier genegeerd.
In het onderstaande voorbeeld gebruiken we vier attributen (coderegel 1-2)
Voorbeeld met vier attributen
<% @ page language = "java" contentType = "text / html;" pageEncoding = "ISO-8859-1"isELIgnored = "false"%><% @ page import = "java.util.Date"%>Richtlijngoeroe JSP1 Datum is: <% = nieuwe java.util.Date ()%>