Директивалар бүкіл JSP бетін өңдеуді басқарады. Ол серверге бетті өңдейтін нұсқаулар береді.
Директивалардың синтаксисі:
<% @ директиваның атауы [атрибут атауы = «мән» атрибут атауы = «мән» ........]%>
JSP директивасының үш түрі бар:
1) Бет нұсқауы
2) Директиваны қосыңыз
3) TagLib директивасы
1) Бет нұсқауы
Page Directives бірге пайдаланылатын бірнеше атрибуттар бар және олар -
- импорт
- сессиясы
- isErrorPage
- errorPage
- ContentType
- isThreadSafe
- ұзартады
- ақпарат
- тілі
- autoflush
- буфер
: 1. импорт :
Бұл төлсипат бумаларды импорттау үшін қолданылады. Кодтау кезінде сіз бірнеше буманы қамтуыңыз қажет болуы мүмкін, Мұндай сценарийлерде осы бет директивасының төлсипаты өте пайдалы, себебі ол сол жерде бірден бірнеше пакеттерді үтірмен (,) бөліп жазуға мүмкіндік береді. Сонымен қатар әр түрлі бумамен бірге әр түрлі бет элементтерінің бірнеше даналары болуы мүмкін.
Импорттау төлсипатының синтаксисі -
<% @ page import = «value»%>
Мұнда мән буманың атауы болып табылады.
Импорттау үлгісі Төменде бет директивасының импорттау төлсипатын пайдаланатын бірнеше буманы импорттаудың мысалы келтірілген.
<% @ page import = «java.io. *%> <% @ page import = «java.>: 2. сессия :
Әдетте пайдаланушыға интерактивті JSP қолданбасын құру кезінде біз оның жеке деректерін сеанс белсенді болғанша ұстап тұру үшін пайдаланушыға қол жеткізуге міндетті екенімізді тексереміз. Банктік шотқа кірудің мысалын қарастырып көріңіз, біз аяқтағанша (немесе сеанстың аяқталуына дейін) барлық деректерге қол жеткізе аламыз. Сеансты сеансты сақтау үшін сеанс атрибуты шын болуы керек.
Бұл төлсипат JSP беттерінің HTTP сеанстарын өңдеу болып табылады. Ол екі мән болуы мүмкін: шын немесе жалған. Сеанс атрибуты үшін әдепкі мән шын, яғни бұл атрибут туралы айтпағанда, сервер осы бет үшін HTTP сеансы қажет деп есептей алады.
Бұл төлсипат үшін әдепкі мән: шын
Сеанс атрибутының синтаксисі:
<% @ page session = «value»%>мұнда мән шын немесе дұрыс емес
Сессияның мысалдары:
<% @ page session = «true»%>Жоғарыда келтірілген код беттің сеанстық нысандары болуы мүмкін.
<% @ page session = «false»%>Егер бұл код JSP бетінде көрсетілсе, бұл сеанстық нысандар сол бетке қол жетімді болмайды. Демек, сеанс сол бет үшін сақталмайды.
: 3. isErrorPage :
Бұл төлсипат ағымдық JSP бетін басқа JSP бетін қате бет ретінде қолдануға болатынын көрсету үшін пайдаланылады. Егер isErrorPage мәні шын болса, онда беттің басқа бетті өңдеу үшін пайдаланылуы мүмкін дегенді білдіреді. Әдетте, бұл беттерде қате / ескерту хабарлары бар немесе ерекше жағдайларды өңдеу кодтары бар және басқа бір JSP бетін шақырған кезде, бұл жерде болған жағдай.
IsErrorPage атрибутының тағы бір қолданысы бар - Ерекшеленбеген жабық нысан тек isErrorPage мәніне шын болып орнатылған беттер үшін қол жетімді болуы мүмкін. Мән қате болса, бет ерекше жағдайды қолдана алмайды.
Әдепкі мәні: жалған
IsErrorPage төлсипатының синтаксисі:
<% @ page isErrorPage = «мән»%>Мұнда мән шын немесе дұрыс емес.
IsErrorPage мысалы:
<% @ page isErrorPage = «true»%>Бұл JSP бетін, ерекше жағдайды өңдеу бетін жасайды.
: 4. errorPage :
Жоғарыда айтқанымдай, isErrorPage төлсипаты белгілі бір бет үшін шын болса, онда ол бетті қоспағанда, басқа бетке шақырылуы мүмкін дегенді білдіреді. errorPage төлсипаты isErrorPage attrbute шын мәніне орнатылған JSP бетінің URL мекенжайын көрсету үшін пайдаланылады. Ол парақта өңделмеген ерекше жағдайларды өңдейді.
ErrorPage төлсипатының синтаксисі:
<% @ page errorPage = «мән»%>Мұнда мән JSP бет атауымен ерекшеленетін өңдеу коды бар (және isErrorPage шын мәніне орнатылған).
ErrorPage мысалы:
<% @ page errorPage = «ExceptionHandling.jsp»%>Бұл кодты орналастырған JSP бетінде қандай да бір ерекшелік пайда болса, ExceptionHandling.jsp (бұл бетде isErrorPage шын болуы керек) бетін шақырту керек.
: 5. contentType :
Бұл төлсипат JSP бетінен мазмұн түрін орнату үшін пайдаланылады.
Әдепкі мән : мәтін / html
ContentType төлсипатының синтаксисі:
<% @ page contentType = «мән»%>мұнда мазмұн түрінің мәні: мәтін / html, мәтін / xml және т.б. болуы мүмкін.
Мазмұн түрі:
Төменде кодты мәтін / html беттері үшін пайдалануға болады.
<% @ page contentType = «text / html»%>мәтін / xml негізделген беттер үшін:
<% @ page contentType = «text / xml»%>: 6. isThreadSafe :
Мұны мысалмен түсінуге мүмкіндік береді. JSP бетін жасасаңыз және isThreadSafe-ді шынайы деп атап көрсеңіз, онда JSP беті мультимедиялық өңдеуді қолдайды (JSP бетін бір мезгілде бірнеше ағыммен орындай алады). Екінші жағынан, егер ол жалған болса, онда JSP қозғалтқышы многопоточности мүмкіндік бермейді, ол тек бір ғана жіп бет кодын орындайды.
IsThreadSafe төлсипатының әдепкі мәні: шын.
IsThreadSafe төлсипатының синтаксисі:
<% @ page isThreadSafe = «мән»%>мұнда мән шын немесе дұрыс бола алады.
IsThreadSafe мысалы:
<% @ page isThreadSafe = «жалған»%>JSP бетін орындау үшін тек бір жіп жауапты болады.
: 7. аралық :
Бұл төлсипат буфер өлшемін көрсету үшін пайдаланылады. Егер сіз оны кодтау кезінде ешкімге көрсетпесеңіз, онда шығыс JSPWriter арқылы Response нысанына тікелей жазылады. Ал егер буферлік өлшемді көрсетсеңіз, алдымен буферге жазылған нәтиже жауап нысаны үшін қол жетімді болады.
Аралық төлсипатының синтаксисі:
<% @ page buffer = «value»%>шамасы kb өлшемінде немесе ешбірде жоқ .
Буфердің мысалы:
Бұл бет үшін буфер жоқ:
<% @ page buffer = «none»%>Беттің төменгі коды бар беттің 5 кб буферінің өлшемі:
<% @ page buffer = «5kb»%>: 8. кеңейтеді :
Java сияқты, мұнда бұл атрибут сыныпты кеңейту үшін қолданылады.
Синтаксис төлсипатты кеңейтеді:
<% @ page extends = «value»%>Мән - package_name.class_name.
Мысал:
Төменде келтірілген код SampleClass-ді пакеттен алынады: mypackage
<% @ page extends = «mypackage.SampleClass»%>: 9. ақпарат :
Ол JSP бетін сипаттайды. Info (info) көрсетілген жол, getServletinfo () әдісі деп аталатын кезде қайтарылады.
Ақпараттың синтаксисі:
<% @ page info = «value»%>мұнда Мәтін немесе Сипаттама болып табылады
Ақпарат төлсипатының мысалы:
<% @ page info = «Бұл кодты Chaitanya Singh береді»%>: 10. тіл :
Ол бетте қолданылатын сценарий тілін (негізгі тіл) анықтайды.
Тілі синтаксисі:
<% @ page >мұнда сценарий тілі бар.
Тіл атрибутының мысалы:
<% @ page >: 11. autoFlush :
Егер бұл шын болса, ол аралық толтырылған кезде аралықты тазалау керек дегенді білдіреді. аралық буферден асып кетсе, жалған болады.
Әдепкі мәні : шын
AutoFlush синтаксисі:
<% @ page autoFlush = «value»%>мән шын немесе жалған болуы мүмкін.
AutoFlush төлсипатының мысалы:
Аралық толы болса толтырылады -
<% @ page autoFlush = «true»%>Аралық толып кету жағдайына байланысты толық болғанда, ол ерекше жағдайды тастайды
<% @ page autoFlush = «true»%>: 12. isScriptingEnabled :
Ол құлап қалды және пайдаланылмады.
: 13.Жалпағанда :
Бұл төлсипат өрнектердің бағаланатынын немесе жоқтығын анықтайды.
Әдепкі мәні : шын
IsELIgnored синтаксисі:
<% @ page isELIgnored = «мән»%>мән шын немесе жалған болуы мүмкін.
IsELIgnored төлсипатының мысалы:
JSP бетіндегі кез келген өрнектің бағаланбауы -
<% @ page isELIgnored = «жалған»%>Өрнек бағаланады (шын мәнінде әдепкі мән болып көрсетілмейді)
<% @ page isELIgnored = «шын»%>2) Директиваны қосыңыз
Директива қосу бір JSP бетін басқа мазмұнға көшіру үшін пайдаланылады. Бұл бір файлдың кодын басқа жерге қосу сияқты.
Қосылу директивасының синтаксисі:
<% @ include file = «мәні»%>мұнда мән JSP файл атауы болып табылады, оған қосу керек. Егер файл бір каталогта болса, онда файл атауын көрсетіңіз, әйтпесе толық URL (немесе жол) мән өрісінде көрсетілуі керек.
Ескерту: Беттің кез келген жерінде қолдануға болады.
Мысал:
<% @ include file = «myJSP.jsp»%>IJSP.jsp файлының мазмұнын көшіру үшін жоғарыда көрсетілген кодты JSP бетінде пайдалануға болады. Алайда, бұл жағдайда JSP файлдары бірдей каталогта болуы керек. Егер myJSP.jsp әртүрлі каталогта болса, онда жай файл атауының орнына жоғарыда көрсетілген жолдың толық жолын көрсету қажет болады.
Оқуы керек : Директиваны мысалмен толтырыңыз .
3) Taglib директивасы
Бұл директива негізінен пайдаланушыларға JSP-те Пайдаланушылық тегтерді пайдалануға мүмкіндік береді. біз жеке Тегтер туралы JSP оқулықтарында егжей-тегжейлі талқылаймыз. Taglib директивасы JSP бетінде теңшелетін тегтерді жариялауға көмектеседі.
Taglib директивасының синтаксисі:
<% @ taglib uri = «taglibURI» prefix = «тег префиксі»%>URI - бірегей ресурс локаторы, ол пайдаланушы тегінің және тег префиксін анықтау үшін пайдаланылады, ол uri арқылы анықталған жерде таңдамалы тегті анықтай алатын жол.
Targlib мысалы:
<% @ taglib uri = «http://www.sample.com/mycustomlib» prefix = «demotag»%> <html> <body> <demotag: welcome /> </ body> </ html>Көрінгендей, uri пайдаланушы тегтер кітапханасының орналасуын және префикс таңдамалы тегтің префиксін анықтайды.
Ескерту: Жоғарыда келтірілген мысалда - <demotag: welcome> бар префикс демотогы бар.
Жақсы оқу құралы.
Аралық толып кету жағдайына байланысты толық болғанда, ол ерекше жағдайды тастайды
Мырза, менің ойымша, бұл жағдайда autoFlush = «жалған» теру қатесі болды деп ойлаймын.
Сәлеметсіздер ме, бірінші кезекте осы үлкен оқулық үшін алғысымды білдіргім келеді, ол сұхбаттарға дайындалуым үшін өте пайдалы.
Менде «Diff b / w» директивасы бар және әрекет тегтері бар «деген сұраныс бар. Мен мұнда жазамын, себебі мен түсініктемелер қорабын таба алмаймын. Сіз директиваға қосу үшін, ауызша аударма кезеңінде қамтылған jsp wil, ал қолданысқа арналған тегті қосу үшін ол орындалу уақытында болады. Менің сұрауым ендірілген JSP аударылған кезде әрекет тегіне қосылуға арналған?