WebHU - Programozási kérdések és válaszok

Mi a teendő a css for JSP töredékkel?

Az első dinamikus weboldalamat írom JSP-vel. Jelenleg van egy működő index.JSP fejléc nélküli. Írtam egy header.jspf-t, ami így néz ki:

<header>
<div id="head">
<img src="images/header/logo.png" alt="logo">
<h1>Rewards</h1>
</div>
</header>

Bevettem a fejlécet az index.JSP-be ezzel a sorral: <%@ include file="header.jspf" %>, közvetlenül a törzs után. De most azon tűnődöm. Hova tegyem a css-t a fejléchez. Betehetem a header.JSPF-be, de ha megteszem, akkor bekerül a törzsbe, amikor az oldalt a szerver "készíti". Elhelyezhetem a <head> címkében a index.JSP oldalon belül, de akkor minden alkalommal, amikor ezt a töredéket használom, fel kell tüntetnem a css-t.

Van-e „linkelve” a css-nek a header.jspf-hoz, és minden alkalommal, amikor beleteszem a fejlécet, a szerver automatikusan tudja, hogy a fejlécben szerepelnie kell a css-nek, anélkül, hogy minden alkalommal beírnám a jsp-be, hogy szükségem van arra a css-fájlra a fejléchez?

==================================================================================

EDIT: @San Krish

A header.jspf így fog kinézni, gondolom, ha beleteszem a css-emet:

<link rel="stylesheet" type="text/css" href="cssFiles/header.css">
<header>
<div id="head">
<img src="images/header/logo.png" alt="logo">
<h1>Rewards</h1>
</div>
</header>

A probléma azonban az, hogy amikor ezt teszem, a <link rel="stylesheet" type="text/css" href="cssFiles/header.css"> bekerül a index.jsp body-ébe, és ez nem érvényes HTML.

==================================================================================

EDIT2: Töröltem a jspf-et és létrehoztam egy header.jsp fájlt, ami így néz ki (az összes tartalmat átmásoltam, nem tudom, hogy kész-e)

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

<head>
<link rel="stylesheet" type="text/css" href="cssFiles/header.css">
</head>

<body>
<div id="head">
<img id="logo" src="images/header/logo.png" alt="logo">
<h1>Reward</h1>
</div>
</body>

Aztán ahelyett, hogy a jspf-et belefoglaltam volna az indexoldalba, ezt tettem: <%@ include file="header.jsp" %> A css azonban továbbra is benne van a törzsben :(.


  • Bárkinek van ötlete, hogyan tudnám ezt kijavítani, hogy a stíluslapom ne legyen benne a törzsemben (meg akarom tartani a stíluslapot a fejlécemmel, és nem minden alkalommal manuálisan importálni, amikor beleteszem a fejlécet) 06.11.2014
  • Van valakinek tippje? Talán nem a megoldás, de valami, ami segít megtalálni a megoldást. 07.11.2014
  • Elindítok egy jutalmat, kérlek olvasd el a chat-et is, amit a San Krish válaszban írtam. 11.11.2014
  • megkérdezhetem, hogy miért kell érvényes html? 14.11.2014
  • Egyszerűen nem szeretem, ha a testemben van egy fej. Semmi értelme, nem oda való. (stackoverflow.com/questions/7000622/head-tags-inside-body) 14.11.2014

Válaszok:


1

Van-e „linkelve” a css a header.jspf fájlhoz, és minden alkalommal, amikor beleteszem a fejlécet, a szerver automatikusan tudja, hogy a fejlécben szerepelnie kell a css-nek

A jspf fájlokat nem fordítják le önmagukban, ezért más jsp fájlokkal együtt kell végrehajtani.

Felveheti a közös css és js fájlokat a common.jsp-be, így minden más fájl, amely az header.jspf-et használja, elveszíti a közös css és js fájlok összekapcsolásának terhét.

Frissítés:

Töröltem a jspf fájlt, és létrehoztam egy header.jsp fájlt, majd ahelyett, hogy a jspf-et felvettem volna az indexoldalra, ezt tettem: ‹%@ include file="header.jsp" %> A css azonban továbbra is benne van a test

A header.jsp-t a css-vel együtt a index.jsp-be helyezte, ez olyan, mintha a html oldalt egy másik html-oldalba ágyazná be, mint alább,

<!DOCTYPE html>
<html>
<head>
</head>
<body>
    <!-- when the app server interprets the jsp you have included it simply interprets like below -->
    <html>
<head>
<link rel="stylesheet" type="text/css" href="cssFiles/header.css">
</head>
<body>
    <div id="head">
        <img id="logo" src="images/header/logo.png" alt="logo">
            <h1>Reward</h1>
    </div>
</body>
<html>
<h1>Content of the index page</h1>
</body>
</html>

A jsp a html-hez hasonló előre lefordított java kódot tartalmaz, így nem kell aggódnia, hogy hova helyezi el a css fájlokat (a böngészők feladata, hogy a külső CSS-t a head címkébe jelenítsék meg, és ez normálisan fog történni )

Kivonat a dokumentumokból,

A jsp:include művelet további statikus vagy dinamikus erőforrásokat illeszt be az oldalba, amikor az oldal megjelenik, amikor az oldal megjelenik. Adja meg az erőforrást relatív URL-lel (oldalrelatív vagy alkalmazásrelatív).

További információ:

06.11.2014
  • Először is köszönöm. Megszerkesztettem a kérdésem. Kérlek nézd meg. 06.11.2014
  • Pls nézd meg a frissítésemet. mindannyian rendelkezhetnek a közös fájlokkal a jsp-ben, és a szokásos módon beilleszthetik azokat, hogy amikor a .jspf fájl megkapja a szükséges css-t 06.11.2014
  • Megértem, hogy a jspf-et bele kell foglalnom a jsp-be. De amikor meghatározom a css stíluslapot a jspf-ben, és hagyom, hogy a kiszolgáló „építse” az index.jsp-t, a css stíluslap a BODY-ban lesz. 06.11.2014
  • Igen, igazad van, mivel a jspf fájlokat nem fordítják le előre, csak feltöltik az értékeket a törzsbe. Ezért jobb, ha hozz létre egy külön jsp-t, amely tartalmazza az összes css és js hivatkozást, és belefoglalod a használt jsp oldalakba. 06.11.2014
  • Nem bocsánat, nem értem, ezért létre kell hoznom egy új JSP fájlt, ‹head›‹body› stb.-vel, amely tartalmazza a jspf-et. És ezek után bele kell foglalnom az új jsp fájlokat (amelyek már tartalmaznak fejtörzset stb.) egy másik jsp-hez? 06.11.2014
  • Elég csak fejjel létrehozni. minden importtal a css-hez. Például nevezze common.jsp-nek, és szerepeltesse a common.jsp-t minden jsp-oldalán 06.11.2014
  • Nem működött, meg tudná mondani, mit rontottam el, kérem (szerkesztettem a kérdést.) 06.11.2014
  • Folytassuk ezt a beszélgetést a csevegésben. 06.11.2014
  • @Bosiwow Nézd meg a frissítésemet, remélem érthető. A header.jsp fájlt is úgy szerkesztette, ahogy kell. 18.11.2014
  • Holnap megnézem, de most megadom a jutalmat. 18.11.2014
  • Új anyagok

    A rádiógomb ellenőrzött eseményének használata a jQueryben
    Ebben a cikkben látni fogjuk, hogyan kell dolgozni a jquery választógombbal ellenőrzött eseményeivel. A választógombok HTML gombok, amelyek segítenek kiválasztani egyetlen értéket egy csoportból...

    Körkörös függőségek megoldása terraformban adatforrásokkal – lépésről lépésre
    Mi az a körkörös függőségek Dolgozzunk egy egyszerű eseten, amikor az SQS-sor és az S3-vödör közötti körkörös függőség problémája van egy egymástól függő címkeérték miatt. provider..

    Miért érdemes elkezdeni a kódolást 2023-ban?
    01100011 01101111 01100100 01100101 — beep boop beep boop Világunk folyamatosan fejlődik a technológia körül, és naponta fejlesztenek új technológiákat a valós problémák megoldására. Amint..

    🎙 Random Noise #2  – Örökbefogadás és hit
    az analitika íratlan világának gondozása Szeretné, hogy ezek a frissítések a postaládájába kerüljenek? Iratkozzon fel itt . "Ha önvezető autókat gyártanak, akkor mi miért ne..

    A legrosszabb politika és prediktív modellek májátültetésre jelöltek számára az Egyesült Államokban
    A máj (vagy óangolul lifer) az emberi test legnehezebb belső szervére utal, amely csendesen működik a nap 24 órájában. Mit csinál a máj? 500 feladatot hajt végre a szervezet egészségének..

    5 webhely, amely 2022-ben fejleszti front-end fejlesztői készségeit
    Frontendmentor.io A tényleges projektek létrehozásával a Frontendmentor.io segítséget nyújt a front-end kódolási képességeinek fejlesztésében. A kódolást azután kezdheti meg, hogy..

    Mikor kell használni a Type-t az interfészhez képest a TypeScriptben?
    A TypeScript a JavaScript gépelt szuperkészlete, amely statikus gépelést ad a nyelvhez. Ez megkönnyíti a robusztus és karbantartható kód írását azáltal, hogy a hibákat a fordítási időben..