我对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