私は、JSPインクルードタグの動作と混同しています。起こっているのは、ベースページのbodyタグに含まれているJSPのid属性があるということです。JSPにはHTMLボディオーバーライドが含まれているHTML BODYタグが含まれていますか?
base.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
/* base jsp has no id for body */
<body>
<h1>Hello World!</h1>
<jsp:include page="include.jsp" />
</body>
</html>
include.jspは
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
/* here included jsp has body with ID specified */
<body id="includeBody">
<h1>Hello include!</h1>
</body>
</html>
私はページをbase.jspに行く、放火犯はOKですが、ことを示しているだけで1個のbodyタグを検索しますHTML BODYタグのid属性は「includeBody」
結果:ID指定とinclude.jspは、IDと本体を有することなく
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
<title>JSP Page</title>
</head>
/* why this body has id ??? */
<body id="includeBody">
<h1>Hello World!</h1>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
<title>JSP Page</title>
<h1>Hello include!</h1>
</body>
</html>
base.jspは本体を有します。私がbase.jspの本体にidを指定しない場合は、jsp body idが適用されます。これはバグですか?または、included.jspから本文を削除する必要があります(これは真実ではありません)。または、idをbase.jsp本体に追加して、含まれている本体に置き換えられないようにすることもできます。
Firebugの検査ではなく、 "ソースの表示"を試みてください。私はあなたがそのように2番目のBODYタグを見つけるだろうと思う。 – Matthew