2014-11-06 33 views
1

我正在用JSP编写我的第一个动态网页。现在我已经有一个工作index.JSP没有标题。我写了一个header.jspf它看起来像这样:如何处理CSS片段的CSS?

<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里面,但是如果我这样做,当页面由服务器“构建”时,它会插入到主体中。我可以将它放在index.JSP页面的<head>标记中,但是每次使用该片段时都应该包含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">被插进我index.jspbody这是不有效的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仍然包含在body内部:(。

+0

任何一个想法,我怎么能解决这个问题,所以我的样式表不包括在我的正文(我想保留样式表与我的标题,而不是每次手动导入它当我包括标题) – Bosiwow 2014-11-06 15:24:40

+0

有没有人有线索?也许不是解决方案,但有助于我找到解决方案。 – Bosiwow 2014-11-07 12:56:11

+0

我开始赏金,请同时阅读我在圣克里什写的回答。 – Bosiwow 2014-11-11 12:07:16

回答

1

是否有“链接”到header.jspf中我包括 头的CSS,每次,服务器将自动知道它应该包括CSS的 头

jspf文件没有编制对自己如此它需要与其他jsp文件一起执行。

可以包括在common.jsp共同cssjs文件,这样,使用header.jspf所有其他文件将失去连接的共同cssjs文件负担。

更新:

我已经删除了JSPF和创建的header.jsp文件,然后代替 包括在索引页的JSPF我所做的:<%@包括 文件=“报头。JSP”%>的CSS但仍包含在 体

您已经包含了header.jsp与在index.jsp的CSS里面,它就像emebedding 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's包含预编译的java代码,除了它与html类似,所以你不必担心它将放置css文件的位置(这是浏览器将外部CSS渲染到head标签中的工作,它会发生正常)

从文档的提取物,

评估jsp:包括如所显示的页面操作插入附加的静态或动态资源 到页面在请求时。使用相对URL指定 资源(相对页面或 应用程序相对)。

了解更多:

+0

首先,谢谢。我编辑了我的问题。请看一看。 – Bosiwow 2014-11-06 12:08:12

+0

请检查我的更新。你可以在jsp中拥有公共文件,并以正常方式包含它,所以当你的'.jspf'文件可以获得所需的css – 2014-11-06 12:48:22

+0

我知道我必须在jsp中包含jspf。但是,当我在jspf中定义css样式表并让服务器“构建”index.jsp时,CSS样式表包含在BODY中。 – Bosiwow 2014-11-06 12:49:00