我在layout.sp中包含了header.jsp,但它没有反映在浏览器中,并且尝试了两个mozilla,即使在刷新缓存后也是如此..
header.jsp内容---
<h1>Login Application</h1>
layout.jsp内容 -
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ taglib uri="http://www.opensymphony.com/sitemesh/decorator"
prefix="decorator"%>
<%@page contentType="text/html; charset=UTF-8"%>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title></title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
<body>
<div>
<jsp:include page="/WEB-INF/includes/header.jsp"/>
</div>
<div ><decorator:body /></div>
</body>
</html>
答案 0 :(得分:3)
这是因为它位于WEB-INF目录中。
HTTP服务器无法访问WEB-INF中的所有内容。通过对服务器的HTTP请求调用jsp:include
,但目标文件是不允许服务的,因此您什么也得不到。
如果你真的想按原样使用该文件,可以使用:
<%@ include file="/WEB-INF/includes/header.jsp" %>
因为它将在编译时进行评估,并且编译器能够访问该文件。
或者您可以将jsp移动到Web服务器可访问的文件,例如/includes/
的{{1}}
WEB-INF.
此外,请确保该文件具有适当的权限,以便服务器可以访问它。