Заголовок Java не отображается - PullRequest
0 голосов
/ 20 июля 2009

Я включаю header.jsp в моем layout.sp, но он не отражается в браузере и пробовал как mozilla, то есть даже после обновления кеша.

header.jsp content ---

<h1>Login Application</h1>

layout.jsp content -

<!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>

1 Ответ

3 голосов
/ 20 июля 2009

Это потому, что он находится в каталоге WEB-INF.

Все, что находится в WEB-INF, недоступно для HTTP-сервера. jsp:include вызывается через HTTP-запрос к серверу, но целевой файл не может обслуживаться, поэтому вы ничего не получаете.

Если вы действительно хотите использовать этот файл как есть, вы можете использовать это:

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

, так как это будет оценено во время компиляции, и компилятор сможет получить доступ к этому файлу.

Или вы можете переместить jsp в файл, который доступен для веб-сервера, например /includes/, который является родственным WEB-INF.

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

Кроме того, убедитесь, что файл имеет соответствующие разрешения, чтобы сервер мог получить к нему доступ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...