JavaServer Pages – akčné značky 3.
Ak chcete do stránky začleniť externý súbor, máte tri možnosti, ktoré si ukážeme. Direktíva alebo akcia vám umožnia začleniť statický súbor, prípadne výsledok inej JSP stránky. No a nakoniec môžete do stránky vložiť aj applety.
Vkladanie súborov počas prekladu stránky (statické vkladanie)
Na vkladanie súborov počas prekladu stránky (typicky pri prvom prístupe) sa používa direktíva include
. Jej syntax je nasledovná:
<%@ include file = ‚relativeURL‘ %>
Vložený súbor môže obsahovať kód JSP aj statické HTML. Môžete tak vytvárať znovu použiteľné navigačné lišty a podobne, teda veci, ktoré by sa museli objavovať na viacerých stránkach znovu. Menším problémom je, že ak sa zmení obsah vkladaného súboru, je treba zaktualizovať všetky stránky, ktoré ho používajú. Zaktualizovať znamená znova preložiť stránku a skompilovať ju. Lenže ako presvedčiť server, aby to urobil? Je nutné zmeniť dátum alebo čas poslednej modifikácie stránky. Najjednoduchšie je vložiť do stránky komentár s dátumom poslednej aktualizácie:
<%@ include file = ‚File.jsp‘ %>
<%– File.jsp zmenené 15.5.2002/12:35 –%>
V nasledujúcom príklade som vytvoril dva jednoduché súbory JspTest2.jsp a JspTest3.html, ktoré vložím do hlavného súboru JspTest1.jsp pomocou tagu include
. Zdrojové kódy ukážok sú vám k dispozícii.
Súbor JspTest2.jsp:
<!DOCTYPE HTML PUBLIC ‚-//W3C//DTD HTML 4.01 Transitional//EN‘>
<html>
<head>
<%@ page import=’java.util.Date‘ %>
<%@ page import=’java.text.DateFormat‘ %>
</head>
<body>
<%= DateFormat.getDateInstance().format(new Date())%>
// vloží aktuálny dátum
</body>
</html>
Súbor JspTest3.html:
<!DOCTYPE HTML PUBLIC ‚-//W3C//DTD HTML 4.01 Transitional//EN‘>
<html><head></head>
<body>
je správny deň na pohár whiskey.
<!– toto je klasický html súbor –>
</body>
</html>
No a nakoniec hlavný súbor JspTest1.jsp, ktorý tie dva spojí:
<!DOCTYPE HTML PUBLIC ‚-//W3C//DTD HTML 4.01 Transitional//EN‘>
<html><head></head>
<body>
<%@ include file=’JspTest2.jsp’%> <%@ include file=’JspTest3.html’%>
</body>
</html>
Na tomto príklade vidíte, že pomocou direktívy include
je možné vkladať aj *.jsp aj *.html súbory. Výsledkom volania stránky JspTest1.jsp by mohlo byť napríklad '9.8.2002 je správny deň na pohár whiskey.'
Vkladanie súborov v dobe požiadavky (dynamické vkladanie)
Direktíva include
umožňuje vkladať súbory *.jsp aj *.html. Na druhej strane, ak sa zmení obsah vkladaného súboru, je nutné upraviť aj všetky ostatné, ktoré vkladajú daný súbor. Túto nevýhodu kompenzuje akcia jsp:include
, ktorá vkladá súbor do stránky JSP až v dobe požiadavky na stránku.
Element jsp:include
má povinné atribúty page
(odkazuje na súbor) a flush
.
<jsp:include page = ‚relativeURL‘ flush = ‚true‘ />
Parameter flush
prikazuje stránke vyprázdniť výstupný buffer ešte pred vložením samotného súboru, pričom hodnota true je jediná možná. Do stránky môžete vložiť html, cgi skript, servlet alebo jsp stránku. Vkladané stránky zdieľajú request
a session
objekty spolu s hlavnou stránkou. Obmedzením tohto spôsobu vkladania súborov je, že nemôžete nastavovať pomocou implicitného objektu response
hlavičku hlavného súboru.
Ak potrebujete vkladanej stránke predať nejaké parametre ešte pred samotným vložením, môžete to urobiť nasledovným spôsobom:
<jsp:include page=’somePage.jsp‘ flush=’true‘>
<jsp:param name = ‚Name1′ value =’Data‘ />
<jsp:param name = ‚Name2′ value ='<%= value %>‘ />
</jsp:include>
Vkladanie appletov do stránky
Na vloženie appletu do stránky je možné použiť element jsp:plugin
. Má pomerne veľa parametrov, ale je nutné použiť aspoň tieto štyri:
<jsp:plugin type = ‚applet‘ code = ‚Applet.class‘
width = ‚šírka‘ height = ‚výška’/>
Problematika appletov je podrobnejšie rozobraná napríklad v článkoch Java aplety na stránke a Komunikace JAVA appletu s HTML stránkou na Interval.cz.
Mohlo by vás také zajímat
-
Jak zabezpečit váš chytrý telefon před kybernetickými hrozbami
30. listopadu 2023 -
AI na dosah ruky: Jak je to s AI v osobních zařízeních?
22. ledna 2024 -
Aukce CZ domén: Jak vydražit expirovanou CZ doménu?
12. června 2024
Nejnovější
-
Jak rozšířit úložiště Macu za pětinovou cenu?
16. prosince 2024 -
Nové trendy v doménách pro osobní projekty – DIY, LIVING a LIFESTYLE
9. prosince 2024 -
Jak chránit webové stránky před Web/AI Scrapingem
27. listopadu 2024 -
Jaký monitor je nejlepší k novému Macu Mini?
25. listopadu 2024