我對JSP包含標籤的工作方式感到困惑。發生的事情是基頁的body標籤具有包含JSP的id屬性。包含HTML正文的JSP包含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頁面,螢火蟲只找到一個body標籤是確定,但表示HTML BODY標記的id屬性爲「includeBody」
結果:
<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有身體沒有指定的id和include.jsp具有體ID。看起來好像我沒有在base.jsp的主體中指定id,包含的jsp body id將會被應用。這是一個錯誤?或者我應該從included.jsp中刪除正文(不,那可能是真的)。或者我可以添加id到base.jsp主體,這樣它就不會被包含的主體取代。
嘗試「查看源代碼」而不是Firebug的檢查。我想你會找到你的第二個BODY標籤。 – Matthew 2012-01-27 11:15:16