ЈСП директиве: Страница, Укључи & амп; Таглиб Туториал

Преглед садржаја:

Anonim

Шта су ЈСП директиве?

  • ЈСП директиве су поруке ЈСП контејнеру. Они пружају глобалне информације о целој ЈСП страници.
  • ЈСП директиве се користе за давање посебних упутстава контејнеру за превод ЈСП-а у код сервлета.
  • У фази животног циклуса ЈСП-а, ЈСП се мора претворити у сервлет који је фаза превођења.
  • Они дају упутства контејнеру о начину руковања одређеним аспектима ЈСП обраде
  • Директиве могу имати много атрибута зарезом одвојене као парови кључ / вредност.
  • У ЈСП-у је директива описана у ознакама <% @%>.

Синтакса Директиве:

<%@ directive attribute %>

Постоје три врсте директива:

  1. Директива о страници
  2. Укључи директиву
  3. Таглиб директива

Свака од њих је детаљно описана у наставку са примерима:

У овом упутству ћете научити -

  • ЈСП Директива странице
  • ЈСП Укључи директиву
  • Директива ЈСП Таглиб

ЈСП Директива странице

Синтакса директиве Паге:

<%@ page… %>
  • Пружа атрибуте који се примењују на целу ЈСП страницу.
  • Дефинише атрибуте који зависе од странице, попут језика скриптирања, странице грешке и захтева за међуспремником.
  • Користи се за давање упутстава контејнеру који се односи на тренутну ЈСП страницу.

Следи листа атрибута повезаних са директивом странице:

  1. Језик
  2. Продужава
  3. Увоз
  4. Тип садржаја
  5. инфо
  6. седница
  7. исТхреадСафе
  8. аутофлусх
  9. тампон
  10. ИсЕррорПаге
  11. пагеЕнцодинг
  12. еррорПаге
  13. исЕЛИгоноред

Више детаља о сваком атрибуту

  1. језик : дефинише програмски језик (основни језик) који се користи на страници.

    Синтакса језика:

    <%@ page language="value" %>

    Овде је вредност програмски језик (основни језик)

Пример:

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

Објашњење кода: У горњем примеру, вредност језика атрибута је Јава која је основни језик у овом случају. Стога би се код у ознакама израза компајлирао помоћу јава компајлера.

  1. Проширује : Овај атрибут се користи за проширивање (наслеђивање) класе као што то чини ЈАВА

Синтакса ектендс:

<%@ page extends="value" %>

Овде вредност представља класу из које мора да се наследи.

Пример:

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

Објашњење кода: У горњем коду ЈСП проширује ДемоЦласс који се налази у пакету за тестирање и проширит ће све функције класе.

  1. Увоз : Овај атрибут је најчешће кориштен атрибут у атрибутима директиве странице. Користи се да каже контејнеру да увози друге јава класе, интерфејсе, енуме итд. Док генерира код сервлета. Сличан је увозу наредби у јава класама, сучељима.

Синтакса увоза :

<%@ page import="value" %>

Овде вредност означава класе које треба увести.

Пример:

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

Објашњење кода:

У горњи код увозимо класу Дате из пакета јава.утил (све класе услужних програма) и може користити све методе следеће класе.

  1. цонтентТипе :
  • Он дефинише шему кодирања знакова, односно користи се за подешавање типа садржаја и скупа знакова одговора
  • Подразумевани тип цонтентТипе је „тект / хтмл; цхарсет = ИСО-8859-1“.

Синтакса цонтентТипе:

<%@ page contentType="value" %>

Пример:

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

Објашњење кода:

У горњем коду, тип садржаја је постављен као тект / хтмл, поставља кодирање знакова за ЈСП и за генерисану страницу одговора.

  1. инфо
  • Дефинише низ којем се може приступити методом гетСервлетИнфо ().
  • Овај атрибут се користи за постављање описа сервлета.

Синтакса информација:

<%@ page info="value" %>

Овде вредност представља информације сервлета.

Пример:

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

Објашњење кода:

У горенаведеном коду, низ "Гуру Дирецтиве ЈСП" може се добити помоћу интерфејса сервлета помоћу гетСервлетИнфо ()

  1. Седница
  • ЈСП страница подразумевано креира сесију.
  • Понекад нам није потребна сесија да би се креирала у ЈСП-у, па у том случају можемо да поставимо овај атрибут на фалсе. Подразумевана вредност атрибута сесије је тачна и сесија се креира.

    Када је постављено на фалсе, тада можемо указати компајлеру да не креира сесију по дефаулту.

Синтакса сесије:

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

У овом случају атрибут сесије може бити постављен на труе или фалсе

Пример:

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

Објашњење кода:

У горњем примеру, атрибут сессион је постављен на "фалсе", па показујемо да не желимо да креирамо ниједну сесију у овом ЈСП-у

  1. исТхреадСафе:
  • Дефинише модел навоја за генерисани сервлет.
  • Означава ниво заштите нити имплементиран на страници.
  • Његова подразумевана вредност је труе, тако истовремено
  • Овај атрибут можемо користити за имплементацију интерфејса СинглеТхреадМодел у генерисани сервлет.
  • Ако га поставимо на фалсе, он ће применити СинглеТхреадМодел и моћи ће приступити било којим дељеним објектима и може произвести недоследност.

Синтакса исТхреадСафе:

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

Овде труе или фалсе представља ако је синхронизација тада постављена као труе и постављена је као фалсе.

Пример:

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

Објашњење кода:

У горњем коду, исТхреадСафе је постављено на „труе“, па ће се синхронизација извршити и може се користити више нити.

  1. АутоФлусх:

Овај атрибут наводи да би ме успремљени излаз требало аутоматски испрати или не, а задата вриједност тог атрибута је истинита.

Ако је вредност постављена на фалсе, бафер се неће аутоматски испрати и ако је пун, добићемо изузетак.

Када је међуспремник никакав, онда је фалсе нелегитиман и нема међуспремника, па ће се аутоматски испрати.

Синтакса аутоФлусх:

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

Овде тачно / нетачно представља да ли је потребно баферисање или не

Пример:

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

Објашњење кода:

У горе наведеном коду, аутоматско испирање је постављено на фалсе и стога се баферисање неће извршити и ручно је испрало излаз.

  1. Пуфер:
  • Коришћењем овог атрибута излазни објекат одговора може бити баферован.
  • Помоћу овог атрибута можемо дефинисати величину међуспремника који треба обавити, а подразумевана величина је 8КБ.
  • Усмерава сервлет да напише ме успремник пре писања у објекат одговора.

Синтакса бафера:

<%@ page buffer="value" %>

Овде вредност представља величину бафера који треба дефинисати. Ако нема међуспремника, тада можемо писати као ниједан, а ако не поменемо ниједну вредност, подразумевана вредност је 8КБ

Пример:

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

Објашњење кода:

У горњем коду величина бафера је наведена као 16 КБ, при чему би бафер био те величине

  1. исЕррорПаге:
  • Означава да ће ЈСП страница која има еррорПаге бити проверена на другој ЈСП страници
  • Свака ЈСП датотека декларисана атрибутом „исЕррорПаге“ је тада способна да прими изузетке са других ЈСП страница које имају странице са грешкама.
  • Изузеци су доступни само на овим страницама.
  • Подразумевана вредност је фалсе.

Синтакса исЕррорПаге:

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

Пример:

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

Објашњење кода:

У горњем коду исЕррорПаге је постављено као тачно. Стога ће проверити да ли сви други ЈСП-ови имају скуп својстава еррорПаге (описан у следећем атрибуту) и да ли могу да обрађују изузетке.

  1. ПагеЕнцодинг:
Атрибут "пагеЕнцодинг" дефинише кодирање знакова за ЈСП страницу.

Подразумевана вредност је наведена као „ИСО-8859-1“ ако није наведена ниједна друга.

Синтакса пагеЕнцодинг:

<%@ page pageEncoding="vaue" %>

Овде вредност специфицира вредност знака за ЈСП

Пример:

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

Објашњење кода:

У горњем коду „пагеЕнцодинг“ је постављен на подразумевани скуп знакова ИСО-8859-1

  1. еррорПаге:
Овај атрибут се користи за постављање странице грешке за ЈСП страницу ако ЈСП баци изузетак, а затим преусмерава на страницу изузетка.

Синтакса еррорПаге:

<%@ page errorPage="value" %>

Овде вредност представља вредност грешке ЈСП странице

Пример:

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

Објашњење кода:

У горњем коду, за руковање изузецима имамо еррроХандлер.јсп

  1. исЕЛИгноред:
  • ИсЕЛИгноред је атрибут заставице где морамо да одлучимо да ли ћемо игнорисати ЕЛ ознаке или не.
  • Његов тип података је јава енум, а подразумевана вредност је фалсе, тако да је ЕЛ подразумевано омогућен.

Синтакса исЕЛИгноред:

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

Овде тачно / нетачно представља вредност ЕЛ било да га треба занемарити или не.

Пример:

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

Објашњење кода:

У горњем коду, исЕЛИгноред је тачно и стога се језик за изражавање (ЕЛ) овде занемарује.

У доњем примеру користимо четири атрибута (кодна линија 1-2)

Пример са четири атрибута

<% @ паге лангуаге = "јава" цонтентТипе = "тект / хтмл;" пагеЕнцодинг = "ИСО-8859-1"исЕЛИгноред = "фалсе"%><% @ паге импорт = "јава.утил.Дате"%><хтмл><хеад><мета хттп-екуив = "Цонтент-Типе" цонтент = "тект / хтмл; цхарсет = ИСО-8859-1"><титле> Дирецтиве Гуру ЈСП1 <боди><а> Датум је: <% = нев јава.утил.Дате ()%>

Објашњење кода:

Линија кода 1-2: Овде смо дефинисали четири атрибута, тј

  • Језик: Постављен је као Јава као програмски језик
  • цонтентТипе: постављен као тект / хтмл како би компајлеру рекао да хтмл мора бити формат
  • пагеЕнцодинг: подразумевани скуп знакова је постављен у овом атрибуту
  • исЕЛИгноред: Ознака израза је лажна, стога се не занемарује

Линија 3: Овде смо користили атрибут импорт, а он увози „Класу датума“ која је из Јава утил пакета, а ми покушавамо да прикажемо тренутни датум у коду.

Када извршите горњи код, добићете следећи излаз

Излаз :

  • Датум је: Тренутни датум помоћу методе датума за класу датума

ЈСП Укључи директиву

  • ЈСП „укључи директиву“ (код 8) користи се за укључивање једне датотеке у другу датотеку
  • Ова укључена датотека може бити ХТМЛ, ЈСП, текстуалне датотеке итд.
  • Такође је корисно у креирању шаблона са корисничким приказима и разбијањем страница на акције заглавља и подножја и бочне траке.
  • Садржи датотеку током фазе превода

Синтакса укључују директиву:

<%@ include… .%>

Пример:

Дирецтиве_јсп2.јсп (главна датотека)

<% @ паге лангуаге = "јава" цонтентТипе = "тект / хтмл; цхарсет = ИСО-8859-1"пагеЕнцодинг = "ИСО-8859-1"%><% @ инцлуде филе = "директива_хеадер_јсп3.јсп"%><хтмл><хеад><мета хттп-екуив = "Цонтент-Типе" цонтент = "тект / хтмл; цхарсет = ИСО-8859-1"><титле> Гуру директива ЈСП2 <боди><а> Ово је главна датотека 

Дирецтиве_хеадер_јсп3.јсп (која је укључена у главну датотеку)

<% @ паге лангуаге = "јава" цонтентТипе = "тект / хтмл; цхарсет = ИСО-8859-1"пагеЕнцодинг = "ИСО-8859-1"%><хтмл><хеад><мета хттп-екуив = "Цонтент-Типе" цонтент = "тект / хтмл; цхарсет = ИСО-8859-1"><боди><а> Датотека заглавља: ​​<% инт цоунт = 1; цоунт ++;оут.принтлн (цоунт);%>:

Објашњење кода:

Дирецтиве_јсп2.јсп:

Линија кода 3: У овом коду користимо ознаке укључивања где укључујемо датотеку Дирецтиве_хеадер_јсп3.јсп у главну датотеку (_јсп2.јсп) и добија излаз и главне и укључене датотеке.

Дирецтиве_хеадер_јсп3.јсп:

Линија кода 11-12: Узели смо број променљивих иницијализован на 1, а затим смо га повећали. Ово ће дати излаз у главној датотеци као што је приказано доле.

Када извршите горњи код, добићете следећи излаз:

Излаз:

  • Резултат је датотека заглавља: ​​2: Ово је главна датотека
  • Излаз се извршава из датотеке Дирецтиве_јсп2.јсп, док ће се датотека са директивом_хеадер_јсп3.јсп прво компајлирати.
  • По завршетку укључене датотеке извршава се главна датотека, а излаз ће бити из главне датотеке „Ово је главна датотека“. Тако ћете добити излаз као „Датотека заглавља: ​​2“ од _јсп3.јсп и „Ово је главна датотека“ од _јсп2.јсп.

Директива ЈСП Таглиб

  • ЈСП таглиб директива користи се за дефинисање библиотеке ознака са „таглиб“ као префиксом, који можемо користити у ЈСП.
  • Више детаља биће покривено у одељку ЈСП прилагођене ознаке
  • ЈСП таглиб директива користи се на ЈСП страницама користећи ЈСП библиотеке стандардних ознака
  • Користи скуп прилагођених ознака, идентификује локацију библиотеке и пружа средства за идентификовање прилагођених ознака на ЈСП страници.

Синтакса таглиб директиве:

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

Овде је атрибут „ури“ јединствени идентификатор у опису библиотеке ознака, а атрибут „префикс“ је име ознаке.

Пример:

<% @ паге лангуаге = "јава" цонтентТипе = "тект / хтмл; цхарсет = ИСО-8859-1"пагеЕнцодинг = "ИСО-8859-1"%><% @ таглиб префик = "гурутаг" ури = "хттп://јава.сун.цом/јсп/јстл/цоре"%><хтмл><хеад><мета хттп-екуив = "Цонтент-Типе" цонтент = "тект / хтмл; цхарсет = ИСО-8859-1"><титле> Гуру директива ЈСП <гурутаг: здраво /><боди>

Објашњење кода:

Линија 3: Овде је „таглиб“ дефинисан са атрибутима ури и префиксом.

Линија 9: „гурутаг“ је дефинисана прилагођена ознака и може се користити било где