1

我正在用 JSP 编写我的第一个动态网页。现在我有一个index.JSP没有标题的工作。我写了一个header.jspf看起来像这样的:

<header>
<div id="head">
<img src="images/header/logo.png" alt="logo">
<h1>Rewards</h1>
</div>
</header>

我在我的 index.JSP 中包含了标题,并在 <%@ include file="header.jspf" %>正文之后添加了这一行:但现在我想知道。我应该在哪里放置该标题的css。我可以把它放在里面header.JSPF,但是如果我这样做,它会在服务器“构建”页面时插入到正文中。我可以将它<head>放在页面内的标签中index.JSP,但是每次使用该片段时我都应该包含 css。

是否有“链接”css header.jspf,每次我包含标题时,服务器都会自动知道它应该包含标题的css,而无需我每次在我的jsp中输入,我需要那个css文件作为标题?

==================================================== =================================

编辑:@San Krish

我的 header.jspf 看起来像这样,我想如果我包含我的 css:

<link rel="stylesheet" type="text/css" href="cssFiles/header.css">
<header>
<div id="head">
<img src="images/header/logo.png" alt="logo">
<h1>Rewards</h1>
</div>
</header>

然而问题是,当我这样做时,<link rel="stylesheet" type="text/css" href="cssFiles/header.css">会插入到body我的中index.jsp,这不是有效的 HTML。

==================================================== =================================

EDIT2:我已经删除了jspf并创建了一个看起来像这样的header.jsp文件(我复制了所有内容,我不知道它是否完整)

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>

<head>
<link rel="stylesheet" type="text/css" href="cssFiles/header.css">
</head>

<body>
<div id="head">
<img id="logo" src="images/header/logo.png" alt="logo">
<h1>Reward</h1>
</div>
</body>

然后我没有在索引页面中包含jspf:<%@ include file="header.jsp" %> 但是css仍然包含在正文中:(。

4

1 回答 1

1

是否将css“链接”到header.jspf,每次我包含标题时,服务器都会自动知道它应该包含标题的css

jspf文件不是自己编译的,所以需要和其他jsp文件一起执行。

您可以在 中包含公用cssjs文件,common.jsp以便所有其他使用的文件将失去链接公用和文件header.jspf的负担。cssjs

更新:

我已经删除了jspf并创建了一个header.jsp文件,然后我没有在索引页面中包含jspf: <%@ include file="header.jsp" %> 但是css仍然包含在身体

您已将header.jsp与 css 一起包含在 中index.jsp,就像将 html 页面嵌入到另一个 html 页面中,如下所示,

<!DOCTYPE html>
<html>
<head>
</head>
<body>
    <!-- when the app server interprets the jsp you have included it simply interprets like below -->
    <html>
<head>
<link rel="stylesheet" type="text/css" href="cssFiles/header.css">
</head>
<body>
    <div id="head">
        <img id="logo" src="images/header/logo.png" alt="logo">
            <h1>Reward</h1>
    </div>
</body>
<html>
<h1>Content of the index page</h1>
</body>
</html>

jsp包含预编译的java代码,除了它类似于html,所以你不必担心它将css文件放在哪里(它是浏览器将外部CSS渲染到head标签的工作,它会正常发生)

来自文档的摘录,

当页面显示时,jsp:include 操作会在请求时向页面中插入额外的静态或动态资源。使用相对 URL(相对于页面或相对于应用程序)指定资源。

学到更多 :

于 2014-11-06T11:57:49.007 回答