我有一个带有导航条的header.jsp文件,其中包含根文件夹中的图像。然后,我将contacts.jsp放在子文件夹中。我想将header.jsp包含在contacts.jsp中,但是引导和映像没有显示。
我尝试使用<%@include file=“./ HTML er.jsp”%>和<%@ file="/header.jsp“%>,这两种方法都只显示了HTML。
根文件夹中的header.jsp:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Title</title>
<link rel="stylesheet" href="resources/css/mainstyles.css">
<link rel="stylesheet" href="resources/bootstrap/css/bootstrap.min.css">
<script src="resources/bootstrap/js/jquery.js"></script>
<script src="resources/bootstrap/js/bootstrap.min.js"></script>
</head>
<body>
<div class="row">
<div class="col-sm-12">
<nav class="navbar navbar-default">
<div class="container-fluid">
<ul class="nav navbar-nav">
<li><img src="resources/images/icon.png" height="50" alt="Logo" style="display: inline"></li>
<li><a href="contacts.jsp">Contacts</a></li>
</ul>
<p id="welcomeMessage" class="pull-right">Welcome <a href="profile.jsp"><strong id="userName"></strong></a> | <a href="logout.jsp">logout</a></p>
</div>
</nav>
</div>
</div>
</body>然后是根文件夹中联系人子文件夹中的contacts.jsp:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<%@include file="/header.jsp" %>
</head>
<body>
<div class="row">
<div class="col-sm-10 col-sm-offset-1">
<nav class="navbar navbar-default">
<div class="container-fluid">
<ul class="nav navbar-nav">
<li><a href="#">View All</a></li>
</ul>
</div>
</nav>
</div>
</div>
</body>
</html>当我运行header.jsp文件时,一切都会显示出来。当我运行contacts.jsp文件时,我会看到HTML,但是没有添加任何引导程序,图像也不会显示。
该项目的结构如下:
- js
- bootstrap.min.js
- css
- images
- icon.png
- contacts
- contacts.jsp
- header.jsp
发布于 2019-08-21 09:23:35
JSP页面是创建快速servlet的方法,servlet是用于创建HTML页面的组件或用于服务器协议工作的组件。
因此,标准JSP导入的方法在页面JSP中包含另一个o多个页面,但是您的代码不能工作,因为<%@include file="/header.jsp" %>是一个静态的包含,在您的情况下,您已经在另一个HTML页面中包含了HTML页面,这是错误的,因为包含结果是一个唯一的HTML页面。
因此,代码工作的一个示例是
您的页面header.jsp:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Title</title>
<link rel="stylesheet" href="resources/css/mainstyles.css">
<link rel="stylesheet" href="resources/bootstrap/css/bootstrap.min.css">
<script src="resources/bootstrap/js/jquery.js"></script>
<script src="resources/bootstrap/js/bootstrap.min.js"></script>
</head>
<body>
<div class="row">
<div class="col-sm-12">
<nav class="navbar navbar-default">
<div class="container-fluid">
<ul class="nav navbar-nav">
<li><img src="resources/images/icon.png" height="50" alt="Logo" style="display: inline"></li>
<li><a href="contacts.jsp">Contacts</a></li>
</ul>
<p id="welcomeMessage" class="pull-right">Welcome <a href="profile.jsp"><strong id="userName"></strong></a> | <a href="logout.jsp">logout</a></p>
</div>
</nav>
</div>
</div>您的页面contact.jsp:
<%@include file="/header.jsp" %>
<div class="row">
<div class="col-sm-10 col-sm-offset-1">
<nav class="navbar navbar-default">
<div class="container-fluid">
<ul class="nav navbar-nav">
<li><a href="#">View All</a></li>
</ul>
</div>
</nav>
</div>
</div>
</body>
</html>因此,当浏览器对服务器有响应时,有一个正确的HTML
在你的浏览器里你可以看到这个结果
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Title</title>
<link rel="stylesheet" href="resources/css/mainstyles.css">
<link rel="stylesheet" href="resources/bootstrap/css/bootstrap.min.css">
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet"/>
</head>
<body>
<div class="row">
<div class="col-sm-12">
<nav class="navbar navbar-default">
<div class="container-fluid">
<ul class="nav navbar-nav">
<li><img src="resources/images/icon.png" height="50" alt="Logo" style="display: inline"></li>
<li><a href="contacts.jsp">Contacts</a></li>
</ul>
<p id="welcomeMessage" class="pull-right">Welcome <a href="profile.jsp"><strong id="userName"></strong></a> | <a href="logout.jsp">logout</a></p>
</div>
</nav>
</div>
</div>
<div class="row">
<div class="col-sm-10 col-sm-offset-1">
<nav class="navbar navbar-default">
<div class="container-fluid">
<ul class="nav navbar-nav">
<li><a href="#">View All</a></li>
</ul>
</div>
</nav>
</div>
</div>
</body>
</html>
https://stackoverflow.com/questions/57587675
复制相似问题