Java header 未显示

标签 java jsp jakarta-ee

我在我的layout.sp中包含了一个header.jsp,但它没有反射(reflect)在浏览器中,并且即使在刷新缓存后也尝试了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>

最佳答案

因为它在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"/>

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

关于Java header 未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1151748/

相关文章:

javascript - 当我使用javascript单击它时如何获取相应的标签值

JSP 自定义标记在 Tomcat 8.0 中不起作用

java - Struts2 从表单获取数据到一个单独的类中

java - 服务器不支持 J2EE Web 模块规范 3.0 版

java - 从某个元素开始在二维数组中搜索java

java - Spring Cloud 1.0.2 和 SR3 RestTemplate 忽略了我的 ResponseErrorHandler

java - ServerSocket Java的最佳方法

java - Maven 站点插件失败并显示 :Could not access java. util.EnumSet.elementType

java - @Inject 和@PostConstruct 不能在单例模式下工作

java - 可以配置 JAXB 来防止实体扩展攻击吗?