<%@ page pageEncoding=“UTF-8”%> ignorés lorsqu'ils sont inclus à partir d'un autre jsp

J'ai le code (maintenant dans github) comme :

mon.jsp (générique jsp - toutes mes pages jsp suivre cette tendance plus ou moins) :

<%@ 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ù :

haut.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" />

tête.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">

bas.jsp :

        </div>
        <div class="footer">
            <p>
                blah
            </p>
        </div>
    </div>
</body>
</html>

Comme vous le voyez, ou vous pouvez prendre mon mot pour lui - les balises équilibre correctement. Ma question est - pourquoi je ne peux pas inclure le

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

directive dans mon top.jsp fichier ? Croyez-moi, il ne fait rien. Dois-je m'inquiéter que le <%@ page session="false"%> est de même ignorés ?

Grâce

  • Je ne comprends pas quel est le comportement que vous attendez, et le comportement réel?
  • J'attends de mes pages pour afficher correctement les caractères utf quand j'inclus le <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> ligne dans mon top.jsp. Ce que je vois, c'est poubelle (comme Σελίδα Î±Ï€Î»Î¿Ï Î§Ïήστη), à moins que j'ai ajouter la directive dans chaque jsp comme on le voit dans myjsp.jsp
  • Lorsque vous effectuez @inclure des JSP est juste analysée dans le contexte de l', y compris JSP, tout comme la directive #include du langage C, de sorte que vous ne devriez pas mettre le <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> partout, mais seulement dans mon.jsp (le fichier principal). Je ne vois pas pourquoi vous obtenez ces étranges personnages.
  • Je veux inclure la directive @page dans toutes mes pages - la chose étrange est que lorsqu'il est inclus ne fait rien (ordures ménagères) - quand je l'ai mis dans chaque jsp fonctionne comme prévu (pas de déchets). Le <%@ page session="false"%> semble fonctionner OK lorsque inclus (en top.jsp) - quelle est donc la différence entre les 2 ? Comment puis-je inclure la directive dans toutes mes pages jsp ? Dois-je utiliser jsp:include ?
InformationsquelleAutor Mr_and_Mrs_D | 2012-09-30