Comment dois-je inclure d'autres pages jsp dans une page jsp correctement?
Je suis maintenant essayer de faire un petit site web avec jsp, tout comme la plupart des pages d'index, la page d'index de mon site web comprend une partie: La partie supérieure(qui contiennent un logo et d'un menu), la partie principale et la partie inférieure. Afin d'éviter de trop nombreux html étiquettes de remplir les pages d'index, peut-être, y compris les pages vont être une bonne idée.
Après recherche, je sais qu'il y a deux méthodes pour inclure des pages jsp:utilisation <%@ include file=""%>
ou <jsp:include page="">
et je sais qu'il y a certaines différences entre eux, mais je rencontre encore quelques problèmes avec inclure des pages.
si j'ai un index.jsp
et top.jsp
je veux inclure top.jsp
dans le index.jsp
.
La index.jsp
comme ceci:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>title</title>
<style type="text/css">
body {background-color:black;margin:0px;padding:0px;}
#left,#right {width:10%;margin:0px;padding:0px;}
#left,#center,#right {float:left;}
#center {width:80%;}
#top {height:150px;}
#main {height:600px;background-color:white;}
</style>
</head>
<body>
<div id="left"> </div>
<div id="center">
<div id="top"><jsp:include page="top.jsp"/></div>
<div id="main"></div>
<div id="bottom"></div>
</div>
<div id="right"> </div>
</body>
</html>
top.jsp
comme ceci:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<div id="logo"><img width="80px" height="65px" src="images/logo.jpg"></div>
<div id="menu">
<p>
<a href="">hello</a>
<a href="">work</a>
<a href="">contact me</a>
</p>
</div>
</body>
</html>
Mes questions sont les suivantes:
1.peu importe la méthode des deux que j'utilise, lorsque je clique sur "regarder le code source" dans le navigateur,j'obtiens ceci:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>title</title>
<style type="text/css">
body {background-color:black;margin:0px;padding:0px;}
#left,#right {width:10%;margin:0px;padding:0px;}
#left,#center,#right {float:left;}
#center {width:80%;}
#top {height:150px;}
#main {height:600px;background-color:white;}
</style>
</head>
<body>
<div id="left"> </div>
<div id="center">
<div id="top"><html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<div id="logo"><img width="80px" height="65px" src="images/logo.jpg"></div>
<div id="menu">
<p>
<a href="">hello</a>
<a href="">work</a>
<a href="">contact me</a>
</p>
</div>
</body>
</html>
</div>
<div id="main"></div>
<div id="bottom"></div>
</div>
<div id="right"> </div>
</body>
</html>
le code dans le top.jsp
inclure le contenu dans l'en-tête apparaissent dans la index.jsp
, je pense que peut-être que je fais une erreur et il devrait ressembler à cela.
2.Si je ne écrire des lebels comme ceci:
<div id="logo"><img width="80px" height="65px" src="images/logo.jpg"></div>
<div id="menu">
<p>
<a href="">hello</a>
<a href="">work</a>
<a href="">contact me</a>
</p>
</div>
Alors si le code contient des caractères qui ne sont pas pris en charge par "ISO-8859-1", myeclipse va rapporter une info erronée boîte de dialogue.
Alors, comment dois-je inclure une page jsp correctement?
Merci!!!!
Liu Peng
Vous devez vous connecter pour publier un commentaire.
JSP ne supprimera pas le
<html><head><body>
pour vous pendant<jsp:include>
. Il comprend sa sortie non modifiée. Si vous avez besoin d'auto-suppression de la pertinence des éléments HTML, vous devriez être en utilisant un template compatible technologie d'affichage, tels que les JSP successeur de Facelets, ou certaines 3ème partie de la bibliothèque comme la Vitesse, Freemarker et ainsi de suite.Votre
top.jsp
vraiment besoin de contenir seulement le contenu dont vous avez vraiment besoin de finir dans le HTML final produit exactement à l'endroit où<jsp:include>
est déclaré dans la page parent. Il suffit de garder la<html><head><body>
detop.jsp
.À caractère problèmes d'encodage, c'est une autre affaire, sans rapport avec à savoir si le JSP est inclus ou pas. Vous avez juste besoin d'ajouter un
<%@page pageEncoding="UTF-8" %>
haut de chaque page JSP à dire le récipient qu'il doit traiter les JSP en utilisant le codage de caractères. UTF-8 est le standard de facto qui couvre chaque caractère unique de l'humanité est au courant. Pour éviter de répéter la même ligne, sur chaque JSP, ajoutez ceci àweb.xml
à la place:Essayez ceci: cela agit même comme le copier-coller.
dans toutes les pages d'ajouter :
et en haut et en bas c'est-à-tête et pied de page, juste le contenu du corps est assez. N'type de balise html que la question est assez.
À l'importation en-tête et pied de page dans la page principale de faire ce code:
vous pouvez également importer dans la tête pour le css et le js.