【问题标题】:Java Header not displayedJava 标头未显示
【发布时间】:2009-07-20 04:50:47
【问题描述】:

我在 layout.sp 中包含了 header.jsp,但它没有反映在浏览器中,并且即使在刷新缓存之后也尝试了 mozilla 和 ie。

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>

【问题讨论】:

  • 这个世界上为什么会被标记为 java 和 eclipse?看起来更像 javascript 和浏览器!
  • @Chris 这是一个 JSP 问题,因此 java 至少是正确的。我已经重新标记了它。
  • 如果您只是尝试在浏览器中加载“/WEB-INF/includes/header.jsp”,输出是什么?我怀疑包含的路径不正确。
  • 它给出“请求的资源(/LoginFinal/WEB-INF/includes/header.jsp)不可用。------------------ -------------------------------------------------- ------------ "

标签: java jsp jakarta-ee


【解决方案1】:

因为它在WEB-INF目录下。

HTTP 服务器无法访问 WEB-INF 中的所有内容。 jsp:include 是通过对服务器的 HTTP 请求调用的,但目标文件是不允许提供的,所以你什么也得不到。

如果你真的想按原样使用那个文件,你可以使用这个:

 <%@ include file="/WEB-INF/includes/header.jsp" %>

因为这将在编译时进行评估,并且编译器能够访问该文件。

或者您可以将 jsp 移动到 Web 服务器可访问的文件中,例如 /includes/,它是 WEB-INF. 的同级文件

<jsp:include page="/includes/header.jsp"/>

另外,请确保文件具有适当的权限,以便服务器可以访问它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-08
    • 1970-01-01
    • 1970-01-01
    • 2016-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多