J'ai du code (maintenant dans github ) comme:
my.jsp (un jsp générique - tous mes jspS suivent plus ou moins ce modèle) :
<%@ include file="include/top.jsp" %>
<title>THE TITLE</title>
<%@ page language="Java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ include file="include/head.jsp" %>
<%@ include file="include/no_menu.jsp" %>
CONTENT
<%@ include file="include/bottom.jsp" %>
où :
top.jsp:
<%@ page session="false"%>
<%@ include file="tag_libs.jsp"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
head.jsp:
<link href="${pageContext.request.contextPath}/css/twoColFixLtHdr.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="container"><!-- closes in bottom -->
<div class="header"><!-- closes in menu -->
<p>
<a href="home"> <img src="${pageContext.request.contextPath}/images/logo7.jpg"
alt="Ted 2012 Logo" name="Ted 2012 Logo" id="Ted_2012_Logo"
style="background: display:block; padding: 5px 20px; margin-left: 150px; border-style: solid" /></a>
</p>
<hr />
no_menu.jsp:
</div>
<div class="content">
bottom.jsp:
</div>
<div class="footer">
<p>
blah
</p>
</div>
</div>
</body>
</html>
Comme vous le voyez - ou vous pouvez prendre mon Word pour cela - les balises s'équilibrent correctement. Ma question est - pourquoi ne puis-je pas inclure le
<%@ page language="Java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
directive dans mon top.jsp
fichier? Croyez-moi, cela ne fait rien. Dois-je craindre que le <%@ page session="false"%>
est pareillement ignoré?
Merci
Vous n'avez pas besoin de mettre le @page
directive dans chaque fichier JSP inclus. À proprement parler, ce ne sont pas des JSP, ils sont fichiers texte étant inclus dans une JSP. @include
équivaut à couper et coller le texte de votre page incluse directement dans votre JSP principal. C'est comme le #include
directive en C.
Veuillez essayer de mettre <%@ page language="Java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
comme toute première ligne de votre fichier JSP principal (c'est-à-dire celui qui inclut les autres), et ne le placez nulle part ailleurs.
J'espère que ça aide.