Водич за ЈСТЛ (ЈСП стандардна библиотека ознака): Цоре & амп; Примери прилагођених ознака

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

Anonim

ЈСТЛ је стандардна библиотека ознака ЈСП-а. Овде ћемо видети како ће коришћење различитих ЈСТЛ ознака олакшати ЈСП кодирање.

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

  • Шта је ЈСТЛ
  • ЈСТЛ Цоре
  • ЈСП прилагођене ознаке

Шта је ЈСТЛ?

ЈСТЛ је скраћеница од библиотеке стандардних ознака страница Јава сервера и представља колекцију прилагођених библиотека ЈСП ознака које пружају заједничку функционалност веб развоја.

Предности ЈСТЛ-а

  1. Стандардна ознака : Пружа богат слој преносиве функционалности ЈСП страница. Програмеру је лако да разуме код.
  2. Чист и чист код : Како скрипте збуњују програмера, употреба ЈСТЛ-а чини код уредним и чистим.
  3. Аутоматска подршка за ЈавабеансИнтероспецтион : Има предност ЈСТЛ-а у односу на ЈСП скрипте. ЈСТЛ Екпрессион језик врло лако рукује ЈаваБеан кодом. Не треба да спуштамо објекте који су преузети као атрибути опсега. Коришћење ЈСП кода скрипти биће компликовано, а ЈСТЛ је поједноставио ту сврху.
  4. Једноставније за читање људима : ЈСТЛ је заснован на КСМЛ-у, који је врло сличан ХТМЛ-у. Стога је програмерима лако да то разумеју.
  5. Једноставније за разумевање од рачунара : Алати попут Дреамвеавер-а и насловне странице генеришу све више и више ХТМЛ кода. ХТМЛ алати одлично раде форматирање ХТМЛ кода. ХТМЛ код се меша са кодом скрипте. Како се ЈСТЛ изражава као ознаке компатибилне са КСМЛ-ом, генерација ХТМЛ-а може лако рашчланити ЈСТЛ код у документу.

ЈСТЛ Цоре

Основне ознаке су најчешће коришћене ознаке у ЈСП-у. Они пружају подршку за

  • Понављање
  • Условна логика
  • Цатцх изузетак
  • урл напред
  • Преусмеравање итд.

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

Синтакса:

<%@ taglib prefix="c" uri=http://java.sun.com/jsp/jstl/core%>

Ево,

  • префикс се може користити за дефинисање свих основних ознака и
  • ури је библиотека таглиба из које се увози

Погледајмо неке основне ознаке детаљно,

1. Оут:

  • Резултат израза приказује се у ознаци оут
  • Може директно избећи КСМЛ ознаке. Стога се они не оцењују као стварне ознаке

Синтакса:

  • Овде вредност представља информације на излазу и обавезна је
  • Подразумевано је неуспешно изношење информација и није обавезно
  • есцапеКСМЛ - Тачно је ако избегне КСМЛ знакове.

Пример:

Цоретаг_јсп1.јсп

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

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

Линија 3: Овај таглиб префикс је потребан за све ознаке, а додани префикс је „ц“. Стога се може користити као префикс за све кључне ознаке.

Редак кода 12: Овде користимо цоретаг оут са префиксом "ц" и овај излаз ће исписати вредност у ознаци израза. Дакле, излаз ће бити име

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

Излаз:

  • Вредност добијамо као име из основне ознаке „оут“ која ће се исписати у излазном току.

2. Цатцх

  • Ухвати сваки изузетак који се може бацити и који се догоди у телу и приказује као излаз.
  • Користи се за руковање грешкама и њихово хватање.

Синтакса:

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

Пример:

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

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

Линија 3: Овај таглиб префикс потребан је за све ознаке, а додани префикс је „ц“, па се може користити као префикс за све кључне ознаке

Линијска ознака 11-13: Цоретаг цатцх се користи за хватање изузетка и штампање изузетка. Овде се изузетак подиже када је 10/0 и тај изузетак има назив "гуруЕкцептион".

Линија 14: Штампамо „гуруЕкцептион“.

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

Излаз:

  • Добијамо аритметички изузетак као / према нули, а он се штампа у излазу помоћу променљиве "гуруЕкцептион"

3. Увоз

  • Можемо увести још један садржај датотеке на ЈСП страницу као што смо то урадили у ЈСП инцлуде ацтион.
  • Овде такође можемо укључити УРЛ и садржај ће бити приказан на тој страници.

Синтакса:

Овде је вар променљиво име које је идентификатор и који ће садржати име датотеке / ури.

ури је релативно име датотеке или уринаме.

цоретаг_јсп31.јсп

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

Цоретаг_јсп32.јсп

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

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

Цоретаг_јсп31.јсп

Линија 3: Овај таглиб префикс потребан је за све ознаке, а додани префикс је „ц“, па се може користити као префикс за све кључне ознаке

Линија кода 11-12: Овде увозимо датотеку цоретаг_јсп32.јсп у ову датотеку помоћу ознаке за увоз

Линија кода13: Овде исписујемо датотеку цоретаг_јсп32.јсп помоћу ознаке оут.

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

Излаз:

  • Цоретаг_јсп32 се штампа у излазу пошто је ова датотека увезена у цоретаг_јсп31.јсп.

4. форЕацх

  • Користи се за понављање броја елемената у низу изјава.
  • То је исто као Јава форлооп.

Синтакса:

  • Овде вар представља име променљиве која ће садржати име бројача
  • Бегин представља вредност бројача
  • Крај ће представљати његову крајњу вредност

Пример:

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

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

Линија 3: Овај таглиб префикс потребан је за све ознаке, а додани префикс је „ц“, па се може користити као префикс за све кључне ознаке

Линија кода 11-13: Овде користимо петљу „форЕацх“ где је име променљиве „гуруцоунт“, које је почело да се броји као 5, а крај као 10. Ми исписујемо променљиву гуруцоунт који има бројеве који почињу од 5 до 10.

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

Излаз:

  • Резултат који добијамо почиње од 5 до 10.

5. Ако

  • Користи се за услове испитивања.
  • Ако се ознака користи за тестирање услова да ли је тачно или не на основу овога, извршиће се блок кода.

Синтакса:

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

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

Линија 3: Овај таглиб префикс потребан је за све ознаке, а додани префикс је „ц“, па се може користити као префикс за све кључне ознаке

Линија кода 11: Овде постављамо променљиву која се броји на 100

Кодни ред 12-14: Овде користимо „иф цондитион“ где проверавамо да ли је бројање једнако 100. Једнако је 100, а резултат ћемо добити као „Бројање је 100“.

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

Излаз:

  • Како је услов „ако“ тачан, добијамо излаз као „Бројање је 100“.

6. преусмерење:

  • Користи се за преусмеравање тренутне странице на други УРЛ пружањем релативног УРЛ-а ове ознаке.
  • Подржава контекстне релативне УРЛ адресе

Синтакса:

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

Пример:

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

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

Линија 3: Овај таглиб префикс потребан је за све ознаке, а додани префикс је „ц“, па се може користити као префикс за све кључне ознаке

Линија кода 11: Овде користимо „ознаку за преусмеравање“, где наводимо име УРЛ-а, а када кликнемо на ту страницу, преусмерава се на локацију која је дата за преусмеравање.

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

Излаз:

  • Добијамо излазни урл гуру99.цом који преусмерава цоретаг_јсп6.јсп

ЈСП прилагођене ознаке

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

Предности прилагођених ознака у ЈСП-у:

  • Преносив - радња описана у библиотеци ознака мора бити употребљива у било ком ЈСП контејнеру.
  • Једноставно - несофистицирани корисници морају бити способни да разумеју и користе овај механизам. Добављачима ЈСП функционалности мора бити лако да га ставе на располагање као акције.
  • Изражајно - Механизам мора подржавати широк спектар радњи, укључујући подметнуте радње, елементе скриптирања унутар тела радње, стварање, употребу и ажурирање променљивих скриптирања.
  • Употребљиво из различитих скриптних језика - Иако ЈСП спецификација тренутно дефинише само семантику скрипти у програмском језику Јава, желимо да оставимо отворену могућност за друге скриптне језике.
  • Изграђени на основу постојећих концепата и машина - не желимо да проналазимо друге ствари које постоје. Такође, желимо да избегнемо будуће сукобе кад год их можемо предвидети

Синтакса:

Узмите у обзир да креирамо тестГуру ознаку и можемо да користимо класутагхандлертестТаг, која ће заменити методу доТаг ().

Class testTag extends SimpleTagSupport{ public void doTag()}

Такође, морат ћемо мапирати ову тестТаг класу у ТЛД (Таг Либрари Десцриптор) јер ће ЈСП контејнер аутоматски креирати мапирање између датотеке класе и ури-ја који је споменут у ТЛД датотеци.

ЈСП интерфејс за ознаке

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

Разматрамо у доњем примеру

Начин сучеља ознаке

  • доТаг () је метода коју морамо надјачати која ће садржати ознаку.
  • Потребан је тренутни ЈСП контекст помоћу гетЈСПЦонтект ()

Пример:

Цустомтаг_јсп1.јсп

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

Цустом.тлд

<таглиб><тлиб-версион> 1.0 <јсп-версион> 2.0 <схорт-наме> Тест ТЛД <таг><наме> гуруТаг <таг-цласс> демотест.гуруТаг <боди-цонтент> празно 

гуруТаг.јава (ТагХандлер)

пакет демотест;импорт јавак.сервлет.јсп.тагект. *;импорт јавак.сервлет.јсп. *;импорт јава.ио. *;гуруТаг јавне класе проширује СимплеТагСуппорт {публиц воид доТаг () баца ЈспЕкцептион, ИОЕкцептион{ЈспВритер оут = гетЈспЦонтект (). ГетОут ();оут.принтлн ("Гуру ознака");}}

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

гуруТаг.јава (ТагХандлер)

Кодни ред 6: класа гуруТаг проширује класу СимплеТагСуппорт која је присутна у јавак.сервлет.ЈСП јар

Линија кода 7: Овде надјачавамо доТаг () методу која баца ЈспЕкцептион и ИОЕкцептион.

Линија кода 9-10: У овој методи, код ће бити уграђен у прилагођену ознаку која ће бити позвана. Узимамо објекат ЈспВритер-а и на њему ће се исписати „Гуру Таг“.

Цустом.тлд

6. ред линије: Овде је назив прилагођене ознаке „гуруТаг“.

Кодни ред 7: Класа ознаке је тагхандлерцласс, тј. ГуруТаг.јава. Потребна је пуна путања датотеке обрађивача која укључује путању директоријума до локације датотеке.

Цустомтаг_јсп1.јсп

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

Линија кода 11: Овде дефинишемо прилагођену ознаку „гуруТаг“, која ће позвати методу класе доТаг () и обрађиваће се код унутар ње.

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

Излаз:

  • Излаз добијамо као "ГуруТаг" од гуруТаг.јава тј. ТагХандлер, који замењује методу доТаг () и који исписује "Гуру Таг" као излаз.

Резиме:

  • У овом одељку смо сазнали о ЈСП библиотеци стандардних ознака у којој смо радили основне ознаке и прилагођене ознаке.
  • Основне ознаке укључују ознаке иф, иф, редирецт, импорт, цатцх које су ознаке коришћене у основне сврхе у ЈСП-у.
  • Такође, урадили смо прилагођене ознаке у којима смо могли да их дефинишемо и користимо у ЈСП-у