Portál AbcLinuxu, 13. července 2025 16:29


Dotaz: Opakujúce sa časti stránky

29.3.2005 10:44 Stanislav Valasek | skóre: 23 | blog: sloboda
Opakujúce sa časti stránky
Přečteno: 86×
Odpovědět | Admin
Na www stránke písanej v XHTML a formátovanej CSS chcem mať rovnakú hlavičku aj patičku stránky a bočné menu.

Frames nechcem používať.

Web hostingový server umožňuje PHP a JSP skripty a servlety. Preferujem JSP.

Ako je možné čo najjednoduchšie dosiahnuť toho, aby som hlavičku a patičku a bočné menu mal napísané len raz a na všetkých stránkach naň budem len odkazovať?

Je možné toto spraviť priamo pomocou XHTML, niečo ako <tu vlož celú túto XHTML stránku>?
patička?
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

29.3.2005 11:03 Zbyněk Petr (Zboňa) | skóre: 6 | blog: zbona | Brno / Vyškov
Rozbalit Rozbalit vše Re: Opakujúce sa časti stránky
Odpovědět | | Sbalit | Link | Blokovat | Admin
V PHP je to prikaz include("soubor.xxx"); V JSP nedelam, ale staci googlovat a reseni treba hned najdes.
29.3.2005 11:58 TimeLord
Rozbalit Rozbalit vše Re: Opakujúce sa časti stránky
Odpovědět | | Sbalit | Link | Blokovat | Admin
v JSP to ide napr. takto:
  1. staticky include:
    <%@ include file="include/header.jsp" %>
    <%@ include file="include/foot.html" %>
    
  2. dynamicky include:
    <jsp:include page="include/header.jsp" />
    <jsp:include page="include/foot.html" />
    
Staticky sa vklada pocas kompilacie JSP, dynamicky sa vklada pocas volania stranky. Pri dynamickom je mozne vyuzivat aj parametre pri vkladani:
<jsp:include page="include/header.jsp">
   <jsp:param name="paramName1" value="paramValue1" />
   <jsp:param name="paramName2" value="paramValue2" />
   <jsp:param name="paramName3" value="paramValue3" />
</jsp:include>
29.3.2005 15:26 TimeLord
Rozbalit Rozbalit vše Re: Opakujúce sa časti stránky
Odpovědět | | Sbalit | Link | Blokovat | Admin
Este ma napadlo nieco ohladom JSP, konkretne o JSTL. V JSP je mozne pomocou JSTL importovat do stranky aj obsah ineho webu alebo aj FTP. Je to dynamicke vkladanie, teda nieco podobne ako <jsp:include> s tym rozdielom, ze to vie viac :-)

There are a few more actions related to URLs in the Core library. The <c:import> action is a more flexible action than the standard <jsp:include> action. You can use it to include content from resources within the same Web application, from another Web application in the same container, or from another server, using protocols like HTTP and FTP.

Takze pomocou JSTL je mozne vkladat: Ja som si este urobil vlastny JSP tag, ktory mi umoznuje vkladat aj absolutne HTTP a HTTPS URL s tym, ze pre vkladane URL mozem nastavit aj lubovolne cookie/header/parameter/..., pripadne ci sa ma obsah URL nacitat cez GET alebo POST metodu a dalsie nastavenia:

Priklad:
<https:import var="pageOutput"
 url="https://sample.com/data.jsp" method="post"
 charEncoding="windows-1250" scope="page">
   <https:param name="some_param" value="some param value" />
   <https:header name="User-Agent" value="Mozilla/5.0
 (Windows; U; Windows NT 5.1; en-US; rv:1.7)
 Gecko/20040803 Firefox/0.9.3" />
   <https:cookie name="some_cookie" value="012345678" />
</https:import>
Obsah nacitaneho dokumentu je potom mozne vypisat bud takto:
<%= pageOutput %>
alebo takto:
<c:out value="${pageOutput}" escapeXml="false" />
Ak si najdem trosku cas na nejake okomentovanie a popis, tak dam niekde na web zdrojaky, aby to mohli ludia pouzivat, ak bude zaujem.

Myslim si vsak, ze momentalne na to, co potrebujes, Ti plne vystaci staticky alebo dynamicky include, ktory som popisal v mojom predchadzajucom prispevku.
29.3.2005 15:41 Stanislav Valasek | skóre: 23 | blog: sloboda
Rozbalit Rozbalit vše Re: Opakujúce sa časti stránky
Ďakujem všetkým myslím že pôjdem cestou JSP.

Ešte prikladám jedno riešenie v php:

pageXYZ.php - na tuto stranku sa len odkazuje, samozrejeme je mozne na nej definovat viacero premenych, ktore sa daju vyuzit v template (napr. nadpis a podobne).
page_XYZ.inc.php - toto obsahuje text/html, ktory bude na stranke

pageXYZ.php:
<?php
   $PAGE_NAME="XYZ";
   $PAGE_TITLE="Stranka XYZ";
   include("template.php");
?>

page_XYZ.inc.php:
text, text, text

template.php:
<html>
<head><title><?=$PAGE_TITLE?></title></head>
<body>
<?php
include("header.inc.php");
include("left.inc.php");
include("page_".$PAGE_NAME".".inc.php");
include("footer.inc.php"); ?>
</body>
</html>
Dotaz označujem ako vyriešený.
patička?
29.3.2005 16:13 Jary | skóre: 30 | blog: Jary má blog | Dům
Rozbalit Rozbalit vše Re: Opakujúce sa časti stránky
Odpovědět | | Sbalit | Link | Blokovat | Admin

Proč tento thread nebyl zablokován stejně jako všechny co nesouvisí s linuxem? To tam musí někde být i slovo Windows nebo Microsoft? Proč se neozvala kupa lidí a neříká di si to řešit na zive.cz? To není zrovna spravedlivé...

Možná byste to měl raději řešit na interval.cz, ale uznávám, že tenhle server má diskuzi více propracovanou než ostatní, takže je práce s ní pohodlnější.

.sig virus 3.2_cz: Prosím, okopírujte tento text do vaší patičky. GitHub
29.3.2005 16:19 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
Rozbalit Rozbalit vše Re: Opakujúce sa časti stránky
29.3.2005 18:52 Stanislav Valasek | skóre: 23 | blog: sloboda
Rozbalit Rozbalit vše Re: Opakujúce sa časti stránky
Odpovědět | | Sbalit | Link | Blokovat | Admin
Aby sme to mali kompletné, tu je pekne zhrnuté vkladanie jedného HTML súboru do iného: How do I include one otml file inside another.
patička?

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.