2016-10-07 21 views
0

我找到正确的方式来提出这个问题有一些问题。但我希望你了解这个问题并能够提供帮助。网页jsp:包含标题,但不使用链接的样式表

我已经使用jsp设置了一个非常基本的Maven Web应用程序。

目前我有2页。

  1. 的index.jsp(与loginbutton起始页)
  2. 回到Home.jsp(首页登录后)

我也有一个header.jspfooter.jsp。 index.jsp和home.jsp都使用页眉和页脚。

标题中有一个指向stylesheet的链接。 当我运行该项目。 index.jsphome.jsp使用标头(他们有正确的标签) 但只有index.jsp使用stylesheet

为什么home.jsp不使用stylesheet,即使正确包含标题。

以下是代码的一些图像,可帮助您了解情况。

中的项目结构

The Project Structure

的index.jsp与包括页眉/ footer.jsp中

Index.jsp with the include of header/footer.jsp

回到Home.jsp用相同的包括报头/ footer.jsp中的,只有路径不同。 但他们正确加载,除了CSS。

Home.jsp with the same include of header/footer.jsp

这里是header.jsp中,与链接样式表

the Header.jsp, with the link to the stylesheet

如果您需要更多的信息,我会很乐意给它。

回答

0

感谢@Rohit Gaikwad的回答,我能够自己弄明白。

原来你需要从使用的页面不仅header.jsp而且从index/home.jsp

定位的CSS(这样所以我改变了链接样式表如下:

<link rel="stylesheet" type="text/css" href="css/default-header.css"/> 
    <link rel="stylesheet" type="text/css" href="../../css/default-header.css"/> 

这样我可以使用index.jsp和home.jsp (仍然不确定为什么index.jsp可以从css/default-header.css链接加载css,而无需使用“../”浏览文件夹)

1

使用下面的代码的CSS中的header.jsp链接:

<link rel="stylesheet" type="text/css" href="../../../css/default-header.css"/> 

注:您需要正确定位的资源时,“../”将一步到位搜索资源回夹。
当前您的header.jsp将搜索位于default文件夹的资源,但您的css位于webapp\css文件夹中。因此,您需要遍历以找到该资源。

窍门:ctrl key然后单击超级引用链接,如果链接正确,应该直接打开该资源。否则,如果提供的路径不正确,则无法找到资源。
希望你使用的是IDE。

对于评论查询,

  1. index.jsp文件是layouts文件夹,所以你必须包括你的header.jsp为default/header.jsp。现在,您的代码将在layouts/layouts/default/header.jsp
  2. 搜索header.jsp中为home.jsp,如果你能够访问footer.jsp然后header.jsp应该header.jsp访问。代码../layouts/default/header.jsphome.jsp中正确。
+0

我只是试过了,听起来合乎逻辑。当我使用你的代码来链接css时,我确实可以在我的IDE中按住Ctrl键单击它,不能用旧链接来做到这一点。 但是,现在css将不会加载/用于home AND index.jsp – Tristan